Отправка запросов в Python
Когда я делаю этот запрос, он возвращает код 200, который он должен. Но если я изменю sizeLoadedVarient или colorLoadedID, извлечение не должно возвращать true.
Первый запрос должен добавить товар в корзину. Второй запрос должен вернуть только 200, если в корзине есть что-то
В настоящее время выводится
ATC ok
checkout ok
Даже когда он должен вернуть false
import requests
atcURL = "http://www.supremenewyork.com/shop/302805/add.json"
sizeLoadedVarient = "40414"
colorLoadedID = "19824"
headers = user = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Version/10.0 Mobile/14D27 Safari/602.1"}
sessionProfile = requests.session()
senddata = {
'size' : sizeLoadedVarient,
'style' : colorLoadedID,
'qty' : 1
}
r = sessionProfile.post(atcURL,data=senddata, verify=False, headers=headers)
if (r.status_code == 200):
print("ATC ok")
r2 = sessionProfile.get("http://www.supremenewyork.com/checkout")#.text
#print(r2)
if(r2.status_code == 200):
print('checkout ok')
elif(r2.status_code != 200):
print('checkout not ok')
else:
print('checkout not ok')
elif (r.status_code != 200):
print("Atc not ok")
else:
print('atc not ok')
1 ответ
Решение
requests
автоматически следует за перенаправлениями; в этом случае вы перенаправлены обратно на страницу магазина, которая сама возвращает 200. Вы можете отключить перенаправление, передав allow_redirects=False
в .get
или вы можете проверить r2.url
по-прежнему путь проверки.