溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

簡單談談Python的pycurl模塊

發(fā)布時間:2020-09-18 05:07:08 來源:腳本之家 閱讀:150 作者:hebedich 欄目:開發(fā)技術

pycurl是一個用c語言編寫的libcurl Python實現,功能非常強大,支持操作協(xié)議有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()    #創(chuàng)建一個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.WRITEFUNCTION,getbody)    #將返回的內容定向到回調函數getbody
c.setopt(pycurl.WRITEHEADER,fileobj)    #將返回的HTTPHEADER定向到fileobj文件對象
c.setopt(pycurl.WRITEDATA,fileobj)    #將返回的HTML內容定向到fileobj文件對象

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

c=pycurl.Curl()    #創(chuàng)建一個curl對象
c.getinfo(pycurl.HTTP_CODE)    #返回的HTTP狀態(tài)碼
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頭部大小

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI