欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中requests模塊的使用方法

 更新時間:2015年04月08日 11:31:33   作者:huaweitman  
這篇文章主要介紹了python中requests模塊的使用方法,實例分析了requests模塊的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

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

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

簡單的例子:

想象下我們試圖使用get方法從http://example.test/獲取資源并且查看返回代碼,content-type頭信息,還有response的主體內(nèi)容。這件事無論使用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調(diào)用方法讀取response中的屬性信息,Requests則是使用屬性名來獲取對應(yīng)的屬性值。
兩者還有兩個細(xì)微但是很重要的差別:

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

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

一個復(fù)雜一點的例子:

現(xiàn)在讓我們嘗試下復(fù)雜點得例子:使用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模塊中,最后才調(diào)用了urlopen,那么那兩個復(fù)雜的類是什么的
迷惑了嗎,  這里所有urllib2的文檔 http://docs.python.org/release/2.7/library/urllib2.html
那Requests是怎么樣解決同樣的問題的呢?

Requests

>>> import requests 
>>> url = 'http://example.test/secret' 
>>> response = requests.get(url,auth=('dan','h0tdish'))
>>> response.status_code 
200 
>>> response.content 
u'Welcome to the secret page!' 

只是在調(diào)用方法的時候增加了一個auth關(guān)鍵字函數(shù)
我敢打賭你不用查文檔也能記住。

錯誤處理 Error Handling

Requests對錯誤的處理也是很非常方面。如果你使用了不正確的用戶名和密碼,urllib2會引發(fā)一個urllib2.URLError錯誤,然而Requests會像你期望的那樣返回一個正常的response對象。只需查看response.ok的布爾值便可以知道是否登陸成功。

>>> response = requests.get(url,auth=('dan','wrongPass'))
>>> response.ok 
False 

其他的一些特性:

* Requests對于HEAD, POST, PUT, PATCH, 和 DELETE方法的api同樣簡單
* 它可以處理多部分上傳,同樣支持自動轉(zhuǎn)碼
* 文檔更好
* 還有更多

Requests 是很好的,下次需要使用HTTP時候可以試試。

希望本文所述對大家的Python程序設(shè)計有所幫助。

相關(guān)文章

  • python 序列解包的多種形式及用法解析

    python 序列解包的多種形式及用法解析

    這篇文章主要介紹了python 序列解包的多種形式及用法解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享實例詳解

    Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享實例詳解

    這篇文章主要介紹了Python多進(jìn)程入門、分布式進(jìn)程數(shù)據(jù)共享,結(jié)合實例形式詳細(xì)分析了Python進(jìn)程操作技巧數(shù)據(jù)共享相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2019-06-06
  • python time()的實例用法

    python time()的實例用法

    在本篇文章里小編給大家整理了關(guān)于如何使用python time()方法,需要的朋友們可以參考下。
    2020-11-11
  • 詳解Python匿名函數(shù)(lambda函數(shù))

    詳解Python匿名函數(shù)(lambda函數(shù))

    這篇文章主要介紹了Python匿名函數(shù)(lambda函數(shù)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 利用python、tensorflow、opencv、pyqt5實現(xiàn)人臉實時簽到系統(tǒng)

    利用python、tensorflow、opencv、pyqt5實現(xiàn)人臉實時簽到系統(tǒng)

    這篇文章主要介紹了利用python、tensorflow、opencv、pyqt5實現(xiàn)人臉實時簽到系統(tǒng),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 在Python的Django框架中使用通用視圖的方法

    在Python的Django框架中使用通用視圖的方法

    這篇文章主要介紹了在Python的Django框架中使用通用視圖的方法,同時提到了相關(guān)的安全問題,需要的朋友可以參考下
    2015-07-07
  • Python如何聲明以管理員方式運行(附實戰(zhàn)案例)

    Python如何聲明以管理員方式運行(附實戰(zhàn)案例)

    由于Windows的安全機制,Python寫的腳本缺少了管理員權(quán)限,運行就會受到一些限制,這篇文章主要介紹了Python如何聲明以管理員方式運行的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • Python函數(shù)中4種參數(shù)的使用教程

    Python函數(shù)中4種參數(shù)的使用教程

    這篇文章主要介紹了Python函數(shù)中4種參數(shù)的使用包括必需的參數(shù),關(guān)鍵字參數(shù),缺省參數(shù),不定長參數(shù)的相關(guān)介紹,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • Python之Selenium自動化瀏覽器測試詳解

    Python之Selenium自動化瀏覽器測試詳解

    這篇文章主要為大家詳細(xì)介紹了Python自動化瀏覽器測試,使用Selenium,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 如何用 Python 子進(jìn)程關(guān)閉 Excel 自動化中的彈窗

    如何用 Python 子進(jìn)程關(guān)閉 Excel 自動化中的彈窗

    這篇文章主要介紹了如何用 Python 子進(jìn)程關(guān)閉 Excel 自動化中的彈窗,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-05-05

最新評論