python

2017-10-17 41 views
-1

當我提出這個請求時,它會返回代碼200,它應該。但是,如果我更改sizeLoadedVarient或colorLoadedID,那麼結帳不應該返回true。python

第一個請求應該添加一個項目到購物車。第二個請求應該只返回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

目前還不清楚您想要達到什麼目的以及您的代碼與您的問題有何關係。 – erhesto

回答

1

requests自動跟隨重定向;在這種情況下,您將被重定向回商店頁面,該頁面本身會返回200.您可以通過將allow_redirects=False傳遞給.get來禁用重定向,也可以驗證r2.url仍然是檢出路徑。