使用代理
使用requests 添加代理也非常簡單,只要在請求的方法中(比如get或者post)傳遞prexies參數(shù)就可以了,示例代碼如下:
import requests
proxy = {
'http':'163.204.247.31:9999'}
response = requests.get("http://httpbin.org/ip",proxies=proxy)
print(response.text)
在請求方法中,傳遞proxies參數(shù)就可以了
cookie
如果在一個(gè)響應(yīng)中包含了cookie,那么可以利用cookies屬性拿到這個(gè)返回的cookie值:
import requests
responese = requests.get('https://www.baidu.com')
print(responese.cookies.get_dict())
session:
之前使用urllib庫,是可以使用ppener發(fā)送多個(gè)請求,多個(gè)請求之間是可以共享cookie的,那么如果使用requests,也要達(dá)到共享cookie的目錄,那么就可以使用requests庫給我們提供session對象。
處理cookie:如果想要在多次請求中共享cookie,那么就應(yīng)該使用session,示例代碼如下:
url = "http://www.renren.com/PLogin.do"data = {'email':"326431181@qq.com",'password':"z74108520"}
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6788.400 QQBrowser/10.3.2767.400'}
session = requests.Session()
session.post(url,data=data,headers=headers)
response=session.get('http://www.renren.com/880792860/profile')
with open('renren.html','w',encoding='utf-8')as fp:
fp.write(response.text)
處理不信任的SSL證書
對于那些已經(jīng)被信任的SSL證書的網(wǎng)站,那么使用requests直接就可以正常的返回相應(yīng)示例代碼如下:
resp =requests.get('http://www.12306.cn',verify=False)