首頁  >  文章  >  後端開發  >  簡單談談Python的pycurl模組_python

簡單談談Python的pycurl模組_python

不言
不言原創
2018-04-08 10:50:471762瀏覽

PycURl是一個C語言寫的libcurl的python綁定函式庫。 libcurl 是一個自由的,並且容易使用的用在客戶端的 URL 傳輸庫。它的功能很強大,PycURL 是一個非常快速(參考多並發操作)和豐富完整特性的,但是有點複雜的介面。

pycurl是一個用c語言寫的libcurl Python實現,功能非常強大,支援操作協定有FTP,HTTP,HTTPS,TELNET等。

模組的常用方法說明:

close()方法,對應libcurl套件中的curl_easy_cleanup方法,無參數,實現關閉、回收Curl物件。
·perform()方法,對應libcurl套件中的curl_easy_perform方法,無參數,實作Curl物件請求的提交。
·setopt(option,value)方法,對應libcurl套件中的curl_easy_setopt方法,參數option是透過libcurl的常數來指定的.參數value的值會依賴option,可以是一個字串、整數、長整型、文件物件、清單或函數等

pycurl.Curl()    #建立一個curl物件
c.setopt(pycurl.CONNECTTIMEOUT,5)    #連接的等待時間,設定為0則不等待
c.setopt(pycurl.TIMEOUT,5)    #請求逾時時間
c.setopt(pycurl.NOPROGRESS,0)    #是否屏蔽下載進度條,非0則屏蔽
c.setopt(pycurl. MAXREDIRS,5)    #指定HTTP重定向的最大數
c.setopt(pycurl.FORBID_REUSE,1)    #完成交互後強制斷開連接,不重複使用
c.setopt(pycurl.FRESH_CONNECT,1) # 強制取得新的連線,即替代快取中的連線
c.setopt(pycurl.DNS_CACHE_TIMEOUT,60)    #設定儲存DNS資訊的時間,預設為120秒
c.setopt(pycurl.URL,"http ://www.baidu.com")    #指定請求的URL
c.setopt(pycurl.USERAGENT,"Mozilla/5.2(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322;.NETCLR2 .0.50324)")#設定請求HTTP頭的User-Agent
c.setopt(pycurl.HEADERFUNCTION,getheader)    #將傳回的HTTPHEADER導向回呼函數getheader
c.setopt(pycurl.bodyITEFUNCTION,get.bodyITEFUNCTION,get.body) #將傳回的內容導向至回呼函數getbody
c.setopt(pycurl.WRITEHEADER,fileobj)    #將傳回的HTTPHEADER導向fileobj檔案物件
c.setopt(pycurl.WRI ATA,fileobj)    HTML內容導向到fileobj檔案物件

·getinfo(option)方法,對應libcurl套件中的curl_easy_getinfo方法,參數option是透過libcurl的常數來指定的

c=pycurl.Curl( )    #建立curl物件
c.getinfo(pycurl.HTTP_CODE)    #建立的HTTP狀態碼
c.getinfo(pycurl.TOTAL_TIME)    #傳輸結束所消耗的總時間
c.getinfo(pycurl .NAMELOOKUP_TIME)    #DNS解析所消耗的時間
c.getinfo(pycurl.CONNECT_TIME)    #建立連線所消耗的時間
c.getinfo(pycurl.PRETRANSFER_TIME)   
c.getinfo(pycurl.STARTTRANSFER_TIME)    #從建立連線到傳輸開始消耗的時間
c.getinfo(pycurl.REDIRECT_TIME)    #重新導向所消耗的時間
c.getinfo(pycurl.SIZE_UPLOAD) #上傳資料包大小
c.getinfo(pycurl.SIZE_DOWNLOAD)    #下載資料包大小
c.getinfo(pycurl.SPEED_DOWNLOAD)    #平均下載速度
c.getinfo(pycurl.SPEED_UPLOLOAD)平均上傳速度
c.getinfo(pycurl.HEADER_SIZE)    #HTTP頭部大小

相關建議:

##

以上是簡單談談Python的pycurl模組_python的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn