在python HTTP POST请求中启用cookie

时间:2014-04-12 03:39:24

标签: python http session post cookies

所以我正在尝试编写一个脚本,提交一个表单,其中包含POST请求中用户名和密码的两个字段,但该站点响应:

“此系统要求使用HTTP cookies验证授权信息。我们的系统检测到您的浏览器已禁用HTTP cookie,或者不支持HTTP。”

*编辑:所以我相信下面的新修改代码我可以成功登录页面。唯一的一点是,当我将页面的html文本打印到终端时,它只显示一个html元素和一个包含页面url的head元素;然而,当我登录时,香港专业教育学院检查了页面的实际html,并且有很多遗漏,有人知道为什么会这样吗?

import requests

url = "https://someurl"

payload = {
    'username': 'myname',
'password': '1234'
}

headers = {
'User-Agent': 'Mozilla/5.0'
}

session = requests.Session()

page = session.post(url, data=payload)

1 个答案:

答案 0 :(得分:0)

如果没有准确的网址,很难给出答案。 许多网页都是通过JavaScript调用动态构建的。 JavaScript的执行将创建一个呈现的DOM。如果您正在查看的网站就是这种情况,那么您将只获得使用Python的原始HTML响应,而不是渲染的DOM。你需要一些实际执行JS的东西来获得最终的DOM。例如,SlimerJS