Python-使用请求登录到网站
我必须承认我对此一无所知:我需要登录到这个网站,然后执行一些操作。问题是我在网页的源代码中找不到要使用的表单,而且我基本上从未尝试过通过python登录网站。 这是我写的简单代码Python-使用请求登录到网站,python,login,web,Python,Login,Web,我必须承认我对此一无所知:我需要登录到这个网站,然后执行一些操作。问题是我在网页的源代码中找不到要使用的表单,而且我基本上从未尝试过通过python登录网站。 这是我写的简单代码 import requests url_from = 'https://segreteriaonline.unisi.it/Home.do' url_in = 'https://segreteriaonline.unisi.it/auth/Logon.do' data = {'form':'1',
import requests
url_from = 'https://segreteriaonline.unisi.it/Home.do'
url_in = 'https://segreteriaonline.unisi.it/auth/Logon.do'
data = {'form':'1', 'username':'myUser', 'password':'myPass'}
s = requests.session()
s.get(url_from)
r = s.post(url_in, data)
print r
显然,我得到的是:
<Response [401]>
有什么建议吗?
提前感谢。您需要使用请求验证标头 请检查:
from requests.auth导入HTTPBasicAuth
请求。获取('https://api.github.com/user,auth=HTTPBasicAuth('user','pass'))
该站点似乎没有登录表单,而是使用HTTP Basic auth(导致浏览器请求用户名和密码)。请求支持通过auth
参数执行get
——因此您应该能够执行以下操作:
s.get(url_in, auth=('myUser', 'myPass'))
每个站点都有自己的登录方式。你必须去网站,分析它是如何运作的。什么请求转到什么URL。有很多安全措施,比如CSRF保护。没有一种通用的方法可以做到这一点。你必须自己做研究。
s.get(url_in, auth=('myUser', 'myPass'))