gpt4 book ai didi

python - 使用 python Requests.Session() 的连续请求不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:07 24 4
gpt4 key购买 nike

我正在尝试这样做,

import requests
s=requests.Session()
login_data = dict(userName='user', password='pwd')
ra=s.post('http://example/checklogin.php', data=login_data)
print ra.content
print ra.headers
ans = dict(answer='5')
f=s.cookies
r=s.post('http://example/level1.php',data=ans,cookies=f)
print r.content

但是第二个 post 请求返回了 404 错误,谁能帮我看看这是为什么?

最佳答案

在最新版本的requests中,sessions对象自带了Cookie Persistence,查看requests Sessions ojbects docs .所以你不需要人为添加cookie。只是

import requests
s=requests.Session()
login_data = dict(userName='user', password='pwd')
ra=s.post('http://example/checklogin.php', data=login_data)
print ra.content
print ra.headers
ans = dict(answer='5')
r=s.post('http://example/level1.php',data=ans)
print r.content

只需打印 cookie 即可查看您是否已登录。

for cookie in s.cookies:
print (cookie.name, cookie.value)

示例网站是您的吗?
如果不是,该网站可能会拒绝机器人/爬虫!
您可以像使用浏览器一样更改请求的用户代理。


例如:

import requests
s=requests.Session()
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36'
}
login_data = dict(userName='user', password='pwd')
ra=s.post('http://example/checklogin.php', data=login_data, headers=headers)
print ra.content
print ra.headers
ans = dict(answer='5')
r=s.post('http://example/level1.php',data=ans, headers = headers)
print r.content

关于python - 使用 python Requests.Session() 的连续请求不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18678066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com