Python学習-pycurlモジュール


pycurlはc言語で書かれたlibcurl Pythonで実現され、非常に強力な機能を持ち、操作プロトコルにはFTP、HTTP、HTTPS、TELNETなどがあります.
モジュールの一般的な方法説明:
close()メソッドは、libcurlバッグの中のcurlギャルに対応します.イージー.cleanup方法では、パラメータなしにCurlオブジェクトのクローズ、回収を実現します. ·perform()メソッドは、libcurlバッグの中のcurl_に対応します.イージー.performメソッドは、パラメータなしでCurlオブジェクト要求の提出を実現します. ·setopt(option,value)メソッドは、libcurlバッグの中のcurl_に対応します.イージー.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    
・getingfo(option)メソッドは、libcurlバッグの中のcurl_に対応しています.イージー.getingfoメソッドでは、パラメータ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