簡單談談Python的pycurl模組

2022-10-04 20:00:19 字數 2158 閱讀 3487

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資訊的時間,預設www.cppcns.com為120秒

c.setopt(pycurl.url,"")    #指定請求的url

c.setopt(pycurl.useragent,"mozilla/5.2(compatible;msie6.0;windowsnt5.1;sv1;.netclr1.1.4322;.netclr2.0")#配置請求http頭的user-agent

c.setopt(pycurl.headerfunction,getheader)    #將返回的httpheader定向到**函式getheader

c.setopt(pycurl.writefunction,getbody)    #將返回的內容定向到**函式getbody

c.setopt(pycurl.writeheader,fileobj)    #thiddpjwyq將返回的httpheader定向到fileobj檔案物件

c.setopt(pycurl.writedata,fileobj)    #將返回的html內容定向到fileobj檔案物件

getinfo(option)方法,對應libcurl包中的curl_easy_getinfo方法,引數option是通過libcurl的常量來指定的

c=pycurl.curl()  &n #建立乙個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_upload)    #平均上傳速度

c.getinfo(pycurl.header_size)    #http頭部大小

本文標題: 簡單談談python的pycurl模組

本文位址:

簡單談談python中的多程序

程序是由系統自己管理的。1 最基本的寫法 from multiprocessing import pool def f x return x x if name main p pool 5 print p.map f,1,2,3 1,4,9 2 實際上是通過os.fork的方法產生程序的 unix中...

簡單談談 merge

var arr1 1,2,3 var arr2 1,2,3 console.log merge arr1,arr2 1,2,3,1,2,3 可見陣列間只是合併,不會發生相同元素覆蓋 var arr1 1,2,3 var obj2 console.log merge arr1,obj2 返回的是陣列,...

簡單談談contextlib的使用

你肯定用過with open的方法開啟檔案,然後進行讀取寫入等操作是吧 with open tmp a.txt a as file obj file obj.write hello carson contextlib就是實現這種功能的黑魔法。先說上面的檔案操作流程 開啟檔案,給file obj 處理...