Python pycurl.TIMEOUT Examples
The following are 23
code examples of pycurl.TIMEOUT().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
pycurl
, or try the search function
.
Example #1
Source File: hub.py From robot with MIT License | 6 votes |
def generate_curl(self, url=None, headers=None): """ 生成一个curl, 返回 curl 实例和用于获取结果的 buffer """ curl = pycurl.Curl() buff = StringIO() curl.setopt(pycurl.COOKIEFILE, "cookie") curl.setopt(pycurl.COOKIEJAR, "cookie_jar") curl.setopt(pycurl.SHARE, self.http._share) curl.setopt(pycurl.WRITEFUNCTION, buff.write) curl.setopt(pycurl.FOLLOWLOCATION, 1) curl.setopt(pycurl.MAXREDIRS, 5) curl.setopt(pycurl.TIMEOUT, 3) curl.setopt(pycurl.CONNECTTIMEOUT, 3) if url: curl.setopt(pycurl.URL, url) if headers: self.set_curl_headers(curl, headers) return curl, buff
Example #2
Source File: pycurldownload.py From QMusic with GNU Lesser General Public License v2.1 | 6 votes |
def url_check(self, url): '''下载地址检查''' url_info = {} proto = urlparse.urlparse(url)[0] if proto not in VALIDPROTOCOL: print 'Valid protocol should be http or ftp, but % s found < %s >!' % (proto, url) else: ss = StringIO() curl = pycurl.Curl() curl.setopt(pycurl.FOLLOWLOCATION, 1) curl.setopt(pycurl.MAXREDIRS, 5) curl.setopt(pycurl.CONNECTTIMEOUT, 30) curl.setopt(pycurl.TIMEOUT, 300) curl.setopt(pycurl.NOSIGNAL, 1) curl.setopt(pycurl.NOPROGRESS, 1) curl.setopt(pycurl.NOBODY, 1) curl.setopt(pycurl.HEADERFUNCTION, ss.write) curl.setopt(pycurl.URL, url) try: curl.perform() except: pass if curl.errstr() == '' and curl.getinfo(pycurl.RESPONSE_CODE) in STATUS_OK: url_info['url'] = curl.getinfo(pycurl.EFFECTIVE_URL) url_info['file'] = os.path.split(url_info['url'])[1] url_info['size'] = int( curl.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD)) url_info['partible'] = (ss.getvalue().find('Accept - Ranges') != -1) return url_info
Example #3
Source File: smgr_contrail_status.py From contrail-server-manager with Apache License 2.0 | 6 votes |
def send_REST_request(ip, port, object, match_key, match_value, detail): try: response = StringIO() headers = ["Content-Type:application/json"] url = "http://%s:%s/%s" % (ip, port, object) args_str = '' if match_key: args_str += match_key + "=" + match_value if detail: args_str += "&detail" if args_str != '': url += "?" + args_str conn = pycurl.Curl() conn.setopt(pycurl.TIMEOUT, 1) conn.setopt(pycurl.URL, url) conn.setopt(pycurl.HTTPHEADER, headers) conn.setopt(pycurl.HTTPGET, 1) conn.setopt(pycurl.WRITEFUNCTION, response.write) conn.perform() return response.getvalue() except: return None # end def send_REST_request
Example #4
Source File: CurlHelper.py From AdvancedDownloader with GNU General Public License v3.0 | 5 votes |
def _init_base_headers_curl(self): format_header = ["{}: {}".format(key, value) for key, value in self._headers.items()] format_cookie = "; ".join(["{}={}".format(key, value) for key, value in self._cookies.items()]) self._curl = pycurl.Curl() self._curl.setopt(pycurl.URL, self._link) self._curl.setopt(pycurl.CONNECTTIMEOUT, 10) self._curl.setopt(pycurl.TIMEOUT, 30) self._curl.setopt(pycurl.HTTPHEADER, format_header) self._curl.setopt(pycurl.COOKIE, format_cookie) self._curl.setopt(pycurl.CAINFO, "cert/ca-cert.pem")
Example #5
Source File: __init__.py From EventGhost with GNU General Public License v2.0 | 5 votes |
def set_timeout(self, timeout): "Set timeout for a retrieving an object" self.set_option(pycurl.TIMEOUT, timeout)
Example #6
Source File: transport.py From termite-visualizations with BSD 3-Clause "New" or "Revised" License | 5 votes |
def request(self, url, method, body, headers): c = pycurl.Curl() c.setopt(pycurl.URL, str(url)) if 'proxy_host' in self.proxy: c.setopt(pycurl.PROXY, self.proxy['proxy_host']) if 'proxy_port' in self.proxy: c.setopt(pycurl.PROXYPORT, self.proxy['proxy_port']) if 'proxy_user' in self.proxy: c.setopt(pycurl.PROXYUSERPWD, "%(proxy_user)s:%(proxy_pass)s" % self.proxy) self.buf = StringIO() c.setopt(pycurl.WRITEFUNCTION, self.buf.write) #c.setopt(pycurl.READFUNCTION, self.read) #self.body = StringIO(body) #c.setopt(pycurl.HEADERFUNCTION, self.header) if self.cacert: c.setopt(c.CAINFO, str(self.cacert)) c.setopt(pycurl.SSL_VERIFYPEER, self.cacert and 1 or 0) c.setopt(pycurl.SSL_VERIFYHOST, self.cacert and 2 or 0) c.setopt(pycurl.CONNECTTIMEOUT, self.timeout/6) c.setopt(pycurl.TIMEOUT, self.timeout) if method=='POST': c.setopt(pycurl.POST, 1) c.setopt(pycurl.POSTFIELDS, body) if headers: hdrs = ['%s: %s' % (str(k), str(v)) for k, v in headers.items()] ##print hdrs c.setopt(pycurl.HTTPHEADER, hdrs) c.perform() ##print "pycurl perform..." c.close() return {}, self.buf.getvalue()
Example #7
Source File: toolClass.py From Video-Downloader with GNU General Public License v2.0 | 5 votes |
def getPage (self, url, requestHeader = []) : resultFormate = StringIO.StringIO() fakeIp = self.fakeIp() requestHeader.append('CLIENT-IP:' + fakeIp) requestHeader.append('X-FORWARDED-FOR:' + fakeIp) try: curl = pycurl.Curl() curl.setopt(pycurl.URL, url.strip()) curl.setopt(pycurl.ENCODING, 'gzip,deflate') curl.setopt(pycurl.HEADER, 1) curl.setopt(pycurl.TIMEOUT, 120) curl.setopt(pycurl.SSL_VERIFYPEER, 0) curl.setopt(pycurl.SSL_VERIFYHOST, 0) curl.setopt(pycurl.HTTPHEADER, requestHeader) curl.setopt(pycurl.WRITEFUNCTION, resultFormate.write) curl.perform() headerSize = curl.getinfo(pycurl.HEADER_SIZE) curl.close() header = resultFormate.getvalue()[0 : headerSize].split('\r\n') body = resultFormate.getvalue()[headerSize : ] except Exception, e: header = '' body = ''
Example #8
Source File: CleanScraper.py From CleanScrape with MIT License | 5 votes |
def get_url (url, user_agent=UA, referrer=None): """Make a GET request of the url using pycurl and return the data (which is None if unsuccessful)""" data = None databuffer = StringIO() curl = pycurl.Curl() curl.setopt(pycurl.URL, url) curl.setopt(pycurl.FOLLOWLOCATION, 1) curl.setopt(pycurl.CONNECTTIMEOUT, 5) curl.setopt(pycurl.TIMEOUT, 8) curl.setopt(pycurl.WRITEFUNCTION, databuffer.write) curl.setopt(pycurl.COOKIEFILE, '') if user_agent: curl.setopt(pycurl.USERAGENT, user_agent) if referrer is not None: curl.setopt(pycurl.REFERER, referrer) try: curl.perform() data = databuffer.getvalue() except Exception: pass curl.close() return data
Example #9
Source File: vt-checker-hosts.py From Loki with GNU General Public License v3.0 | 5 votes |
def download_url(host_id, url): """ Downloads an URL and stores the response to a directory with named as the host/IP :param host_id: :param url: :return: """ output = StringIO.StringIO() header = StringIO.StringIO() print "[>] Trying to download URL: %s" % url # Download file try: # 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)') c = pycurl.Curl() c.setopt(c.URL, url) c.setopt(pycurl.CONNECTTIMEOUT, 10) c.setopt(pycurl.TIMEOUT, 180) c.setopt(pycurl.FOLLOWLOCATION, 1) c.setopt(pycurl.USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)') c.setopt(c.WRITEFUNCTION, output.write) c.setopt(c.HEADERFUNCTION, header.write) c.perform() # Header parsing header_info = header_function(header.getvalue()) except Exception, e: if args.debug: traceback.print_exc() print_highlighted("[-] Error MESSAGE: %s" % str(e)) # Write File
Example #10
Source File: test_helpers.py From the-new-hotness with GNU Lesser General Public License v2.1 | 5 votes |
def test_get_html_http_no_callbacks(self): import pycurl import io # Test http with no callbacks mock_curl_instance = Mock() mock_stringio_instance = Mock() mock_stringio_instance.getvalue.return_value = "mock StringIO value" # Expected pycurl setopt calls expected_setopt_calls = [ call(pycurl.URL, b"https://example.com/file.extension"), call(pycurl.WRITEFUNCTION, mock_stringio_instance.write), call(pycurl.FOLLOWLOCATION, 1), call(pycurl.MAXREDIRS, 10), call( pycurl.USERAGENT, "Fedora Upstream Release Monitoring " "(https://fedoraproject.org/wiki/Upstream_release_monitoring)", ), call(pycurl.CONNECTTIMEOUT, 10), call(pycurl.TIMEOUT, 30), ] with patch.object(pycurl, "Curl") as mock_curl_constructor: with patch.object(io, "StringIO") as mock_stringio_constructor: mock_curl_constructor.return_value = mock_curl_instance mock_stringio_constructor.return_value = mock_stringio_instance get_html_result = helpers.get_html("https://example.com/file.extension") # Check curl calls mock_curl_instance.setopt.assert_has_calls(expected_setopt_calls) mock_curl_instance.perform.assert_called_once_with() mock_curl_instance.close.assert_called_once_with() self.assertEqual(get_html_result, "mock StringIO value")
Example #11
Source File: smgr_dhcp_event.py From contrail-server-manager with Apache License 2.0 | 5 votes |
def send_REST_request(ip, port, action, payload): try: url = "http://%s:%s/dhcp_event?action=%s" % (ip, port, action) headers = ["Content-Type:application/json"] conn = pycurl.Curl() conn.setopt(pycurl.TIMEOUT, 1) conn.setopt(pycurl.URL, url) conn.setopt(pycurl.HTTPHEADER, headers) conn.setopt(pycurl.POST, 1) conn.setopt(pycurl.POSTFIELDS, payload) conn.perform() except: return
Example #12
Source File: myhttp.py From wfuzz with GNU General Public License v2.0 | 5 votes |
def _set_extra_options(self, c, fuzzres, poolid): if self.pool_map[poolid]["proxy"]: ip, port, ptype = next(self.pool_map[poolid]["proxy"]) fuzzres.history.wf_proxy = (("%s:%s" % (ip, port)), ptype) if ptype == "SOCKS5": c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5) elif ptype == "SOCKS4": c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS4) elif ptype == "HTTP": c.setopt(pycurl.PROXY, "%s:%s" % (ip, port)) else: raise FuzzExceptBadOptions("Bad proxy type specified, correct values are HTTP, SOCKS4 or SOCKS5.") else: c.setopt(pycurl.PROXY, "") mdelay = self.options.get("req_delay") if mdelay is not None: c.setopt(pycurl.TIMEOUT, mdelay) cdelay = self.options.get("conn_delay") if cdelay is not None: c.setopt(pycurl.CONNECTTIMEOUT, cdelay) return c
Example #13
Source File: restClient.py From recipebook with MIT License | 5 votes |
def get(url, encoding, user_agent=UA, referrer=None): """Make a GET request of the url using pycurl and return the data (which is None if unsuccessful)""" data = None databuffer = BytesIO() curl = pycurl.Curl() curl.setopt(pycurl.URL, url) curl.setopt(pycurl.FOLLOWLOCATION, 1) curl.setopt(pycurl.CONNECTTIMEOUT, 5) curl.setopt(pycurl.TIMEOUT, 8) curl.setopt(pycurl.WRITEDATA, databuffer) curl.setopt(pycurl.COOKIEFILE, '') if user_agent: curl.setopt(pycurl.USERAGENT, user_agent) if referrer is not None: curl.setopt(pycurl.REFERER, referrer) try: curl.perform() data = databuffer.getvalue().decode(encoding) except Exception: pass curl.close() return data
Example #14
Source File: client.py From pycopia with Apache License 2.0 | 5 votes |
def _set_common(self, c): c.setopt(pycurl.FOLLOWLOCATION, 1) c.setopt(pycurl.AUTOREFERER, 1) c.setopt(pycurl.ENCODING, self._accept_encoding) c.setopt(pycurl.MAXREDIRS, 255) c.setopt(pycurl.CONNECTTIMEOUT, 30) c.setopt(pycurl.TIMEOUT, 300) c.setopt(pycurl.NOSIGNAL, 1) if self._proxy: c.setopt(pycurl.PROXY, self._proxy) if self._url.scheme == 'https': c.setopt(pycurl.SSLVERSION, 3) c.setopt(pycurl.SSL_VERIFYPEER, 0)
Example #15
Source File: pycurldownload.py From QMusic with GNU Lesser General Public License v2.1 | 5 votes |
def __init__(self, url): self.curl = pycurl.Curl() self.curl.setopt(pycurl.FOLLOWLOCATION, 1) self.curl.setopt(pycurl.MAXREDIRS, 5) self.curl.setopt(pycurl.CONNECTTIMEOUT, 30) self.curl.setopt(pycurl.TIMEOUT, 300) self.curl.setopt(pycurl.NOSIGNAL, 1) self.curl.setopt(pycurl.WRITEFUNCTION, self.write_cb) self.curl.setopt(pycurl.URL, url) self.curl.connection = self # 合计下载字节数 self.total_downloaded = 0
Example #16
Source File: http_client.py From pledgeservice with Apache License 2.0 | 5 votes |
def request(self, method, url, headers, post_data=None): s = util.StringIO.StringIO() curl = pycurl.Curl() if method == 'get': curl.setopt(pycurl.HTTPGET, 1) elif method == 'post': curl.setopt(pycurl.POST, 1) curl.setopt(pycurl.POSTFIELDS, post_data) else: curl.setopt(pycurl.CUSTOMREQUEST, method.upper()) # pycurl doesn't like unicode URLs curl.setopt(pycurl.URL, util.utf8(url)) curl.setopt(pycurl.WRITEFUNCTION, s.write) curl.setopt(pycurl.NOSIGNAL, 1) curl.setopt(pycurl.CONNECTTIMEOUT, 30) curl.setopt(pycurl.TIMEOUT, 80) curl.setopt(pycurl.HTTPHEADER, ['%s: %s' % (k, v) for k, v in headers.iteritems()]) if self._verify_ssl_certs: curl.setopt(pycurl.CAINFO, os.path.join( os.path.dirname(__file__), 'data/ca-certificates.crt')) else: curl.setopt(pycurl.SSL_VERIFYHOST, False) try: curl.perform() except pycurl.error, e: self._handle_request_error(e)
Example #17
Source File: helpers.py From the-new-hotness with GNU Lesser General Public License v2.1 | 4 votes |
def get_html(url, callback=None, errback=None): if url.startswith("ftp://"): import urllib req = urllib.request.urlopen(url) # nosec data = req.read() if callback: try: for cb in callback: cb(data) except TypeError: callback(data) return data else: if callback: from twisted.web.client import getPage df = getPage(url) try: for cb in callback: df.addCallback(cb) except TypeError: df.addCallback(callback) if errback: try: for eb in errback: df.addErrback(eb) except TypeError: df.addErrback(errback) else: import io import pycurl res = io.StringIO() c = pycurl.Curl() c.setopt(pycurl.URL, url.encode("ascii")) c.setopt(pycurl.WRITEFUNCTION, res.write) c.setopt(pycurl.FOLLOWLOCATION, 1) c.setopt(pycurl.MAXREDIRS, 10) c.setopt( pycurl.USERAGENT, "Fedora Upstream Release Monitoring " "(https://fedoraproject.org/wiki/Upstream_release_monitoring)", ) c.setopt(pycurl.CONNECTTIMEOUT, 10) c.setopt(pycurl.TIMEOUT, 30) c.perform() c.close() data = res.getvalue() res.close() return data
Example #18
Source File: reqresp.py From darkc0de-old-stuff with GNU General Public License v3.0 | 4 votes |
def perform(self): self.__performHead="" self.__performBody="" conn=pycurl.Curl() conn.setopt(pycurl.SSL_VERIFYPEER,False) conn.setopt(pycurl.SSL_VERIFYHOST,1) conn.setopt(pycurl.URL,self.completeUrl) if self.__method or self.__userpass: if self.__method=="basic": conn.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_BASIC) elif self.__method=="ntlm": conn.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_NTLM) elif self.__method=="digest": conn.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_DIGEST) conn.setopt(pycurl.USERPWD, self.__userpass) if self.__timeout: conn.setopt(pycurl.CONNECTTIMEOUT, self.__timeout) conn.setopt(pycurl.NOSIGNAL, 1) if self.__totaltimeout: conn.setopt(pycurl.TIMEOUT, self.__totaltimeout) conn.setopt(pycurl.NOSIGNAL, 1) conn.setopt(pycurl.WRITEFUNCTION, self.body_callback) conn.setopt(pycurl.HEADERFUNCTION, self.header_callback) if self.__proxy!=None: conn.setopt(pycurl.PROXY,self.__proxy) if self.__headers.has_key("Proxy-Connection"): del self.__headers["Proxy-Connection"] conn.setopt(pycurl.HTTPHEADER,self.__getHeaders()) if self.method=="POST": conn.setopt(pycurl.POSTFIELDS,self.__postdata) conn.perform() rp=Response() rp.parseResponse(self.__performHead) rp.addContent(self.__performBody) self.response=rp ######### ESTE conjunto de funciones no es necesario para el uso habitual de la clase
Example #19
Source File: mycurl.py From QMusic with GNU Lesser General Public License v2.1 | 4 votes |
def upload(self, url, data, header=None, proxy_host=None, proxy_port=None, cookie_file=None): ''' open url with upload @param url: the url to visit @param data: the data to upload @param header: the http header @param proxy_host: the proxy host name @param proxy_port: the proxy port ''' crl = pycurl.Curl() #crl.setopt(pycurl.VERBOSE,1) crl.setopt(pycurl.NOSIGNAL, 1) # set proxy rel_proxy_host = proxy_host or self.proxy_host if rel_proxy_host: crl.setopt(pycurl.PROXY, rel_proxy_host) rel_proxy_port = proxy_port or self.proxy_port if rel_proxy_port: crl.setopt(pycurl.PROXYPORT, rel_proxy_port) # set cookie rel_cookie_file = cookie_file or self.cookie_file if rel_cookie_file: crl.setopt(pycurl.COOKIEFILE, rel_cookie_file) crl.setopt(pycurl.COOKIEJAR, rel_cookie_file) # set ssl crl.setopt(pycurl.SSL_VERIFYPEER, 0) crl.setopt(pycurl.SSL_VERIFYHOST, 0) crl.setopt(pycurl.SSLVERSION, 3) crl.setopt(pycurl.CONNECTTIMEOUT, 10) crl.setopt(pycurl.TIMEOUT, 300) crl.setopt(pycurl.HTTPPROXYTUNNEL, 1) rel_header = header or self.header if rel_header: crl.setopt(pycurl.HTTPHEADER, rel_header) crl.fp = StringIO.StringIO() if isinstance(url, unicode): url = str(url) crl.setopt(pycurl.URL, url) crl.setopt(pycurl.HTTPPOST, data) # upload file crl.setopt(crl.WRITEFUNCTION, crl.fp.write) try: crl.perform() except Exception, e: raise CurlException(e)
Example #20
Source File: http_helper.py From centinel with MIT License | 4 votes |
def request(self, path="/", header=None, ssl=False, timeout=None): if timeout is None: timeout = self.timeout buf = StringIO() c = pycurl.Curl() if header: slist = [] for key, value in header.iteritems(): slist.append(key+": "+value) c.setopt(pycurl.HTTPHEADER, slist) c.setopt(pycurl.HEADERFUNCTION, self.header_function) c.setopt(pycurl.FOLLOWLOCATION, True) c.setopt(pycurl.WRITEDATA, buf) c.setopt(pycurl.TIMEOUT, timeout) c.setopt(pycurl.ENCODING, 'identity') c.setopt(pycurl.NOSIGNAL, 1) if ssl: if self.port is None: self.port = 443 c.setopt(pycurl.URL, "https://"+self.host+":"+str(self.port)+path) c.setopt(pycurl.SSL_VERIFYPEER, 1) c.setopt(pycurl.SSL_VERIFYHOST, 2) else: if self.port is None: self.port = 80 c.setopt(pycurl.URL,"http://"+self.host + ":" + str(self.port) + path) c.perform() self.status = c.getinfo(pycurl.RESPONSE_CODE) c.close() encoding = None if 'content-type' in self.headers: content_type = self.headers['content-type'].lower() match = re.search('charset=(\S+)', content_type) if match: encoding = match.group(1) if encoding is None: # Default encoding for HTML is iso-8859-1. # Other content types may have different default encoding, # or in case of binary data, may have no encoding at all. encoding = 'iso-8859-1' self.body = buf.getvalue().decode(encoding)
Example #21
Source File: mycurl.py From QMusic with GNU Lesser General Public License v2.1 | 4 votes |
def post(self, url, data, header=None, proxy_host=None, proxy_port=None, cookie_file=None): ''' open url width post method @param url: the url to visit @param data: the data to post @param header: the http header @param proxy_host: the proxy host name @param proxy_port: the proxy port ''' crl = pycurl.Curl() #crl.setopt(pycurl.VERBOSE,1) crl.setopt(pycurl.NOSIGNAL, 1) # set proxy rel_proxy_host = proxy_host or self.proxy_host if rel_proxy_host: crl.setopt(pycurl.PROXY, rel_proxy_host) rel_proxy_port = proxy_port or self.proxy_port if rel_proxy_port: crl.setopt(pycurl.PROXYPORT, rel_proxy_port) # set cookie rel_cookie_file = cookie_file or self.cookie_file if rel_cookie_file: crl.setopt(pycurl.COOKIEFILE, rel_cookie_file) crl.setopt(pycurl.COOKIEJAR, rel_cookie_file) # set ssl crl.setopt(pycurl.SSL_VERIFYPEER, 0) crl.setopt(pycurl.SSL_VERIFYHOST, 0) crl.setopt(pycurl.SSLVERSION, 3) crl.setopt(pycurl.CONNECTTIMEOUT, 10) crl.setopt(pycurl.TIMEOUT, 300) crl.setopt(pycurl.HTTPPROXYTUNNEL, 1) rel_header = header or self.header if rel_header: crl.setopt(pycurl.HTTPHEADER, rel_header) crl.fp = StringIO.StringIO() crl.setopt(crl.POSTFIELDS, data) # post data if isinstance(url, unicode): url = str(url) crl.setopt(pycurl.URL, url) crl.setopt(crl.WRITEFUNCTION, crl.fp.write) try: crl.perform() except Exception, e: raise CurlException(e)
Example #22
Source File: mycurl.py From QMusic with GNU Lesser General Public License v2.1 | 4 votes |
def get(self, url, header=None, proxy_host=None, proxy_port=None, cookie_file=None): ''' open url width get method @param url: the url to visit @param header: the http header @param proxy_host: the proxy host name @param proxy_port: the proxy port ''' crl = pycurl.Curl() #crl.setopt(pycurl.VERBOSE,1) crl.setopt(pycurl.NOSIGNAL, 1) # set proxy # crl.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5) rel_proxy_host = proxy_host or self.proxy_host if rel_proxy_host: crl.setopt(pycurl.PROXY, rel_proxy_host) rel_proxy_port = proxy_port or self.proxy_port if rel_proxy_port: crl.setopt(pycurl.PROXYPORT, rel_proxy_port) # set cookie rel_cookie_file = cookie_file or self.cookie_file if rel_cookie_file: crl.setopt(pycurl.COOKIEFILE, rel_cookie_file) crl.setopt(pycurl.COOKIEJAR, rel_cookie_file) # set ssl crl.setopt(pycurl.SSL_VERIFYPEER, 0) crl.setopt(pycurl.SSL_VERIFYHOST, 0) crl.setopt(pycurl.SSLVERSION, 3) crl.setopt(pycurl.CONNECTTIMEOUT, 10) crl.setopt(pycurl.TIMEOUT, 300) crl.setopt(pycurl.HTTPPROXYTUNNEL, 1) rel_header = header or self.header if rel_header: crl.setopt(pycurl.HTTPHEADER, rel_header) crl.fp = StringIO.StringIO() if isinstance(url, unicode): url = str(url) crl.setopt(pycurl.URL, url) crl.setopt(crl.WRITEFUNCTION, crl.fp.write) try: crl.perform() except Exception, e: raise CurlException(e)
Example #23
Source File: utils.py From APIFuzzer with GNU General Public License v3.0 | 4 votes |
def init_pycurl(debug=False): """ Provides an instances of pycurl with basic configuration :return: pycurl instance """ _curl = pycurl.Curl() _curl.setopt(pycurl.SSL_OPTIONS, pycurl.SSLVERSION_TLSv1_2) _curl.setopt(pycurl.SSL_VERIFYPEER, False) _curl.setopt(pycurl.SSL_VERIFYHOST, False) _curl.setopt(pycurl.VERBOSE, debug) _curl.setopt(pycurl.TIMEOUT, 10) _curl.setopt(pycurl.COOKIEFILE, "") _curl.setopt(pycurl.USERAGENT, 'APIFuzzer') return _curl