我尝试使用Mechanize解决问题,但我无法让它工作。
如果在登录后发送cookie,网站只允许访问数据。我需要做以下事情:
答案 0 :(得分:0)
我使用Mechanize提出了以下解决方案。 Cookie由mechanize.Browser
管理。
br = mechanize.Browser()
resp = br.open('https://xxxxxxxxxxxxxxxxxxx')
br.select_form(nr=0)
br['username'] = username
br['password'] = password
response = br.submit()
time.sleep(1)
resp_second = br.open('https://secretwebpage')
print resp_second.read()
答案 1 :(得分:0)
您可以在Requests中使用会话。来自documentation:
Session对象允许您跨越某些参数 要求。它还在所有请求中保留Cookie 会话实例。
以下是可能的登录和后续请求的显示方式:
import requests
s = requests.Session(verify='my_cert_file.crt')
r = s.post('https://secure-site.com/login', data={
'username': my_username,
'password': my_password,
})
# logging in sets a cookie which the session remembers
print s.cookies
r = s.get('https://secure-site.com/secure-data')
print r.json()