作者:小梅LMY | 来源:互联网 | 2023-08-23 15:16
我试图这样做,
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
但第二个帖子请求返回404错误,有人可以帮助我吗?
解决方法:
在最新版本的请求中,他的会话对象是COOKIE持久性,查看请求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
祝你好运〜