Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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请求。邮递登录don'的常用方式;行不通_Python_Logging_Request_Response_Http Status Code 403 - Fatal编程技术网

python请求。邮递登录don'的常用方式;行不通

python请求。邮递登录don'的常用方式;行不通,python,logging,request,response,http-status-code-403,Python,Logging,Request,Response,Http Status Code 403,尝试登录此网站“websim.worldquantchallenge.com/login”,但通常的方法不起作用。在大多数情况下和网站中,我们可以使用下一种形式: session = requests.session() url = 'https://websim.worldquantchallenge.com/login' data = { 'EmailAddress': '<YOUR_MAIL>', 'Password': '<YOUR_PASS' } r

尝试登录此网站“websim.worldquantchallenge.com/login”,但通常的方法不起作用。在大多数情况下和网站中,我们可以使用下一种形式:

session = requests.session()
url = 'https://websim.worldquantchallenge.com/login'
data = {
    'EmailAddress': '<YOUR_MAIL>', 
    'Password': '<YOUR_PASS'
}
result = session.post(url, data = data)
print(result)
session=requests.session()
url='1〕https://websim.worldquantchallenge.com/login'
数据={
“电子邮件地址”:“,

“密码”:“据我所知,表单是由javascript处理的,因此您不知道数据将发送到哪个url。对于请求似乎不起作用的网站问题,我使用了selenium。它使用chrome驱动程序在浏览器中调出页面。然后按类或id查找元素并填写表单,然后单击提交


许多网站正在转向这种javascript交互风格,以防止自动代码破坏他们的网站。我也看到验证码的代码,因此如果出现这种情况,您可能必须处理它。

我建议通过激活开发工具的网站登录,并查看请求/响应内容。 无法使用常用方法登录的一些可能原因:

  • 表单已更改(例如,“EmailAddress”替换为“Username”,表单中的一个新字段)
  • 身份验证方法已更改(例如,新url、OAuth2…)
  • 该网站通过过滤用户代理或在登录表单中添加隐藏字段来阻止程序访问

还有一个基本问题:您是否查看了403(
print(result.text)
)的错误消息?

首先,您必须确保网站的策略允许通过代码登录

如果是,文章的url应该是:

url = 'https://websim.worldquantchallenge.com/login/process'

也许网站不希望您通过代码登录?当您通过UI登录时,会发送什么请求?您是否尝试过打开浏览器的开发人员控制台,切换到网络视图,并查看该网站的实际登录顺序?这可能会让您感到惊讶。再次抱歉,请您解释一下,您是如何知道这会有所帮助的?=)我试图从Chrome的网络视图中观察从表单页面发送的帖子的地址!是的,我现在使用selenium,但想加快我的工作速度登录后请求和selenium之间的混合也可以工作。当我得到响应405时,我查看了result.text,但没有得到任何信息。现在我尝试这样做,并理解了od你的意思是什么,尽管其他用户帮助我解决了这个问题)谢谢。