Отправка запросов в 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 по-прежнему путь проверки.

Другие вопросы по тегам