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',

我必须承认我对此一无所知:我需要登录到这个网站,然后执行一些操作。问题是我在网页的源代码中找不到要使用的表单,而且我基本上从未尝试过通过python登录网站。 这是我写的简单代码

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'))