2017-07-05 94 views
0

我已经经历了与此相关的所有与stackoverflow相关的问题,但我无法解决我的问题。当我执行follwing代码时,它运行成功,没有任何错误,但没有打印。如何使用请求通过python登录网站?

import requests 


payload = {'username': 'user','password': 'pass'} 


with requests.Session() as s: 
    p = s.post(' file-transfers.in/login.php?rid=worlddomains', 
      params=payload) 
    r = s.get('http://file-transfers.in/member_arean.php') 
    print r.text 

回答

0

Python requests docs有一整章关于认证。

基本身份验证需要身份验证的

许多Web服务接受HTTP基本验证。 这是最简单的一种,请求支持它直接从 框中。

制作与HTTP基本验证请求非常简单:

>>> from requests.auth import HTTPBasicAuth 
>>> requests.get('https://api.github.com/user', auth=HTTPBasicAuth('user', 'pass')) 
<Response [200]> 

事实上,HTTP基本认证是很常见的,要求提供使用它方便的 速记:

>>> requests.get('https://api.github.com/user', auth=('user', 'pass')) 
<Response [200]> 

提供元组里的凭证li这与上面的HTTPBasicAuth示例中的 完全相同。

+0

我已经实施了这个。但同样的问题。 –

+0

由于您既未给出确切的错误消息,也未尝试访问此网站的实际网站是您必须期待的基本答案。另外,您实际执行了8种以上的哪种方法,结果如何?如果*基本身份验证*不起作用,也许该网站使用另一个系统? –

+0

这是登录页面http://file-transfers.in/login.php?rid=worlddomains –

0

有问题的网站期待您发送您的用户名/密码为POST数据,而不是网址参数这样:

payload = {'username': 'user','password': 'pass'} 

with requests.Session() as s: 
    p = s.post('http://file-transfers.in/login.php?rid=worlddomains', data=payload) 
    r = s.get('http://file-transfers.in/member_arean.php') 
    print(r.text) 

可能有更多的东西,一旦登录通行证,但没有一个我们无法检查发生了什么事。