Python學習-pycurl模組

來源:互聯網
上載者:User

標籤: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.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()    #建立一個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模組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.