python中幾個網絡請求庫的區別

python2.X 有這些庫名可用: urllib, urllib2, urllib3, httplib, httplib2, requestspython


python3.X 有這些庫名可用: urllib, urllib3, httplib2, requests安全


二者都有的urllib3和requests, 它們不是標準庫. urllib3 提供線程安全鏈接池和文件post支持,與urllib及urllib2的關係不大. requests 自稱HTTP for Humans, 使用更簡潔方便cookie


對於python2.X:ide

urllib和urllib2的主要區別:工具


1. urllib2能夠接受Request對象爲URL設置頭信息,修改用戶代理,設置cookie等, urllib只能接受一個普通的URL.post

2. urllib提供一些比較原始基礎的方法而urllib2沒有這些, 好比 urlencodeurl


httplib 和 httplib2線程

httplib 是http客戶端協議的實現,一般不直接使用, urllib是以httplib爲基礎 代理

httplib2 是第三方庫, 比httplib有更多特性code


httplib比較底層,通常使用的話用urllib和urllib2便可


對於python3.X:

這裏urllib成了一個包, 此包分紅了幾個模塊, 


urllib.request 用於打開和讀取URL, 

urllib.error 用於處理前面request引發的異常, 

urllib.parse 用於解析URL, 

urllib.robotparser用於解析robots.txt文件

python2.X 中的 urllib.urlopen()被廢棄, urllib2.urlopen()至關於python3.X中的urllib.request.urlopen()


python2.X中的httplib被重命名爲 http.client

使用 2to3 工具轉換源碼時, 會自動處理這幾個庫的導入


總的來講, 使用python3, 記住只有urllib, 想要更簡潔好用就用requests, 但不夠通用 

相關文章
相關標籤/搜索