国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中requests模塊的使用方法

2020-02-23 00:37:10
字體:
來源:轉載
供稿:網(wǎng)友

本文實例講述了python中requests模塊的使用方法。分享給大家供大家參考。具體分析如下:

在HTTP相關處理中使用python是不必要的麻煩,這包括urllib2模塊以巨大的復雜性代價獲取綜合性的功能。相比于urllib2,Kenneth Reitz的Requests模塊更能簡約的支持完整的簡單用例。

簡單的例子:

想象下我們試圖使用get方法從http://example.test/獲取資源并且查看返回代碼,content-type頭信息,還有response的主體內容。這件事無論使用urllib2 或者Requests都是很容易實現(xiàn)的。

urllib2 

>>> import urllib2 >>> url = 'http://example.test/' >>> response = urllib2.urlopen(url)>>> response.getcode() 200 >>> response.headers.getheader('content-type') 'text/html; charset=utf-8'>>> response.read() 'Hello, world!'

Requests

>>> import requests >>> url = 'http://example.test/' >>> response = requests.get(url) >>> response.status_code 200 >>> response.headers['content-type']'text/html; charset=utf-8'>>> response.content u'Hello, world!'

這兩種方法很相似,相對于urllib2調用方法讀取response中的屬性信息,Requests則是使用屬性名來獲取對應的屬性值。
兩者還有兩個細微但是很重要的差別:

1 Requests 自動的把返回信息有Unicode解碼
2 Requests 自動保存了返回內容,所以你可以讀取多次,而不像urllib2.urlopen()那樣返回的只是一個類似文件類型只能讀取一次的對象。

第二點是在python交互式環(huán)境下操作代碼很令人討厭的事情

一個復雜一點的例子:

現(xiàn)在讓我們嘗試下復雜點得例子:使用GET方法獲取http://foo.test/secret的資源,這次需要基本的http驗證。使用上面的代碼作為模板,好像我們只要把urllib2.urlopen() 到requests.get()之間的代碼換成可以發(fā)送username,password的請求就行了

這是urllib2的方法:

>>> import urllib2>>> url = 'http://example.test/secret'>>> password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()>>> password_manager.add_password(None, url, 'dan', 'h0tdish')>>> auth_handler = urllib2.HTTPBasicAuthHandler(password_manager) >>> opener = urllib2.build_opener(auth_handler)>>> urllib2.install_opener(opener)>>> response = urllib2.urlopen(url)>>> response.getcode()200 >>> response.read()'Welcome to the secret page!'

一個簡單的方法中實例化了2個類,然后組建了第三個類,最后還要裝載到全局的urllib2模塊中,最后才調用了urlopen,那么那兩個復雜的類是什么的
迷惑了嗎,  這里所有urllib2的文檔 http://docs.python.org/release/2.7/library/urllib2.html

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桦甸市| 台南市| 华蓥市| 资兴市| 九台市| 久治县| 运城市| 铁岭市| 崇信县| 蓝田县| 夏河县| 剑川县| 城口县| 万荣县| 罗平县| 恩施市| 德惠市| 东莞市| 扶风县| 大关县| 景洪市| 麻江县| 曲松县| 阜阳市| 临漳县| 勃利县| 藁城市| 合山市| 盱眙县| 紫阳县| 宜春市| 左云县| 河北区| 凤阳县| 韶关市| 延长县| 兰坪| 延庆县| 镇原县| 隆昌县| 孝感市|