Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用requets.post登录不工作-错误400、404和405_Python - Fatal编程技术网

Python 使用requets.post登录不工作-错误400、404和405

Python 使用requets.post登录不工作-错误400、404和405,python,Python,我正试图登录当地一家超市的网页,参与一个我正在进行的网页清理项目。不幸的是,如果不登录,我就无法访问商店,因此我需要发布一个登录请求,然后加载相应的URL以使用BeautifulSoup进行抓取 以下是我编写的代码: 导入请求 headers={'User-Agent':'Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/79.0.3945.117 Safari/537.36'} 登陆htt

我正试图登录当地一家超市的网页,参与一个我正在进行的网页清理项目。不幸的是,如果不登录,我就无法访问商店,因此我需要发布一个登录请求,然后加载相应的URL以使用BeautifulSoup进行抓取

以下是我编写的代码:

导入请求
headers={'User-Agent':'Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/79.0.3945.117 Safari/537.36'}
登陆https://www.esselunga.it/area-utenti/applicationCheck?appName=esselungaEcommerce&daru=https%3A%2F%2Fwww.esselungaacasa.it%3A443%2Fecommerce%2Fnav%2Fauth%2Fsupermercato%2Fhome.html%3F&loginType=light#!/内戈齐奥/'
有效负载={'gw_用户名':'xxx','gw_密码':'yyy'}
r=requests.post(着陆URL、有效负载、标题=标题)

打印(r.status_code)
首先,操作是action=“/area-utenti/loginExt”,因此将数据提交到mywebsite.com/area-utenti/loginExt。仅仅添加/loginExt不会有多大作用

其次,您具有“onsubmit=”return checkCaptchaAndLogin();“”属性,这意味着在提交表单时,将调用checkCaptchaAndLogin函数,并且可能会覆盖提交操作。另外,根据函数名,我可以猜您必须解决验证码才能登录


如果没有更多的信息,很难说。

我想说,
checkCaptchaAndLogin
是一个非常重要的线索,说明了为什么这不起作用,那么URL就是。问题是手动登录时没有验证码,即使我输入了错误的密码(顺便说一句,我已经使用该网站一年了),该网站也从未向我显示过验证码。该表单会触发URL esselunga.it/area-utenti/loginExt。如果它随后执行重定向,或者checkCaptchaAndLogin函数做了什么,我不知道。尝试查看javascript(检查控制台或检查器,具体取决于您的浏览器)并查看它的功能