2016-06-15 63 views
2

我想测试这个请求是否工作。有没有办法检查html或做geturl()的时候使用会话请求?如何检查我是否登录?

#!/usr/bin/env python 2.7.11 
# 
import requests 


headers = {'User-Agent': 'Mozilla/5.0'} 

cookie = {'enwiki_session': '17ab96bd8ffbe8ca58a78657a918558'} 


url = 'https://127.0.0.1/login.php' 


payload = {'user': 'admin','pass': 'admin123'} 


Page = requests.Session() 
Page.post(url,headers=headers,cookies=cookie,data=payload) 

#print Page.content 
#print Page.geturl() 
+0

看看回复内容?当然,你知道一个成功的登录是什么样子? –

+0

有没有一种方法可以让我检查发布请求后脚本当前处于哪个链接?类似于geturl() –

+0

你的意思是'p = Page.post(url,headers = headers,cookies = cookie,data = payload)''print p.url'? –

回答

0

,保持记录的人在每一个网站时,他们通过网页浏览的是一种叫做饼干。 HTTP cookies是保存登录信息的数据。点击一个页面后,您将被注销而没有cookie。为确保用户保持登录状态,除非他们手动注销(或Cookie过期),网站会将一个登录cookie附加到您的Web浏览器。要找到你刮网站上的饼干,你的代码应该看起来有点像这样:

if "Name_of_the_login_cookie" in requests.Session.cookies: 
    #Here is where your extra code goes in 

上面的代码是一个简单的“如果 - 那么”语句。如果在浏览器中记录了Cookie,请继续执行您的程序。

希望这有助于。我没有足够的工作与请求模块,但我知道这一点。

-1

请把你的时间来阅读requests documentation它不仅提供例子,但是你可以很容易地通过验证做一个后,由服务器返回的状态码识别成功的请求:

对于防爆。

r = requests.post(url,headers=headers,cookies=cookie,data=payload) 

print r.status_code 

这将返回一个status code

如果成功,通常返回200返回