Python学習-pycurlモジュール
2088 ワード
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に依存します.文字列、整体、ロング整数、ファイルオブジェクト、リスト、関数などがあります.
モジュールの一般的な方法説明:
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