मैं अजगर 3 में एक साधारण वेब खुरचनी पर काम कर रहा हूं, लेकिन जब मुझे कोई अनुरोध या पोस्ट अनुरोध भेजा जाता है, तो प्रतिक्रिया 403 होती है। अजगर 2 में ठीक काम करता है। मैं दोनों संस्करणों में अनुरोध पुस्तकालयों के एक ही संस्करण का उपयोग कर रहा हूं। मैंने भी कोशिश की है Verify=False/True
लेकिन दोनों संस्करणों में अंतर बना हुआ है।
अनुरोध = 2.22.0
सर्टिफिकेट = 2019.9.11
from requests import get
url = 'https://www.gamestop.com/'
header = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.5',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0',
'DNT': '1',
'Upgrade-Insecure-Requests': '1',
'Connection': 'keep-alive',
'Host': 'www.gamestop.com'
}
res = get(url, headers=header, verify=False).status_code
print(res)
# 403 when using python 3.7.4
# 200 when using python 2.7.16
@Blhsing द्वारा संपादित करें:
नीचे दी गई सूची पर नज़र रखता है कि कौन से विशिष्ट पायथन संस्करण काम करते हैं और कौन से संस्करण टिप्पणियों के अनुसार विफल होते हैं। अब तक की सफलताओं और असफलताओं को प्लेटफार्मों भर में प्रत्येक विशिष्ट पायथन संस्करण के लिए संगत किया गया है।
परिणामों के उत्पादन के लिए उपयोग किए जाने वाले विशिष्ट पायथन संस्करणों के साथ अपने स्वयं के परिणामों के साथ प्रश्न के इस भाग को संपादित करने के लिए स्वतंत्र महसूस करें।
2.7.14 works (blhsing)
2.7.16 works (repl.it)
3.6.5 works (blhsing)
3.6.8 fails (Reinderien and blhsing)
3.7.3 works (wim and blhsing)
3.7.4 fails (repl.it and blhsing)
3.8.0 fails (OP)
Repl.it पर डेमो: पायथन 2.7.16 और पायथन 3.7.4
ssl.OPENSSL_VERSION
) के कारण होता है । आपको उन सभी शीर्ष लेखों को पुन: प्रस्तुत करने की आवश्यकता नहीं है, बस एक सादा पुराना (url) प्राप्त होगा।