Python pycurl.NOSIGNAL Examples
The following are 21
code examples of pycurl.NOSIGNAL().
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: test_fetch.py From landscape-client with GNU General Public License v2.0 | 6 votes |
def test_pycurl_insecure(self): curl = CurlStub(b"result") result = fetch("http://example.com/get-ca-cert", curl=curl, insecure=True) self.assertEqual(result, b"result") self.assertEqual(curl.options, {pycurl.URL: b"http://example.com/get-ca-cert", pycurl.FOLLOWLOCATION: 1, pycurl.MAXREDIRS: 5, pycurl.CONNECTTIMEOUT: 30, pycurl.LOW_SPEED_LIMIT: 1, pycurl.LOW_SPEED_TIME: 600, pycurl.NOSIGNAL: 1, pycurl.WRITEFUNCTION: Any(), pycurl.SSL_VERIFYPEER: False, pycurl.DNS_CACHE_TIMEOUT: 0, pycurl.ENCODING: b"gzip,deflate"})
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: test_fetch.py From landscape-client with GNU General Public License v2.0 | 6 votes |
def test_headers(self): curl = CurlStub(b"result") result = fetch("http://example.com", headers={"a": "1", "b": "2"}, curl=curl) self.assertEqual(result, b"result") self.assertEqual(curl.options, {pycurl.URL: b"http://example.com", pycurl.FOLLOWLOCATION: 1, pycurl.MAXREDIRS: 5, pycurl.CONNECTTIMEOUT: 30, pycurl.LOW_SPEED_LIMIT: 1, pycurl.LOW_SPEED_TIME: 600, pycurl.NOSIGNAL: 1, pycurl.WRITEFUNCTION: Any(), pycurl.HTTPHEADER: ["a: 1", "b: 2"], pycurl.DNS_CACHE_TIMEOUT: 0, pycurl.ENCODING: b"gzip,deflate"})
Example #4
Source File: test_fetch.py From landscape-client with GNU General Public License v2.0 | 6 votes |
def test_cainfo(self): curl = CurlStub(b"result") result = fetch("https://example.com", cainfo="cainfo", curl=curl) self.assertEqual(result, b"result") self.assertEqual(curl.options, {pycurl.URL: b"https://example.com", pycurl.FOLLOWLOCATION: 1, pycurl.MAXREDIRS: 5, pycurl.CONNECTTIMEOUT: 30, pycurl.LOW_SPEED_LIMIT: 1, pycurl.LOW_SPEED_TIME: 600, pycurl.NOSIGNAL: 1, pycurl.WRITEFUNCTION: Any(), pycurl.CAINFO: b"cainfo", pycurl.DNS_CACHE_TIMEOUT: 0, pycurl.ENCODING: b"gzip,deflate"})
Example #5
Source File: test_fetch.py From landscape-client with GNU General Public License v2.0 | 6 votes |
def test_post_data(self): curl = CurlStub(b"result") result = fetch("http://example.com", post=True, data="data", curl=curl) self.assertEqual(result, b"result") self.assertEqual(curl.options[pycurl.READFUNCTION](), b"data") self.assertEqual(curl.options, {pycurl.URL: b"http://example.com", pycurl.FOLLOWLOCATION: 1, pycurl.MAXREDIRS: 5, pycurl.CONNECTTIMEOUT: 30, pycurl.LOW_SPEED_LIMIT: 1, pycurl.LOW_SPEED_TIME: 600, pycurl.NOSIGNAL: 1, pycurl.WRITEFUNCTION: Any(), pycurl.POST: True, pycurl.POSTFIELDSIZE: 4, pycurl.READFUNCTION: Any(), pycurl.DNS_CACHE_TIMEOUT: 0, pycurl.ENCODING: b"gzip,deflate"})
Example #6
Source File: test_fetch.py From landscape-client with GNU General Public License v2.0 | 6 votes |
def test_post(self): curl = CurlStub(b"result") result = fetch("http://example.com", post=True, curl=curl) self.assertEqual(result, b"result") self.assertEqual(curl.options, {pycurl.URL: b"http://example.com", pycurl.FOLLOWLOCATION: 1, pycurl.MAXREDIRS: 5, pycurl.CONNECTTIMEOUT: 30, pycurl.LOW_SPEED_LIMIT: 1, pycurl.LOW_SPEED_TIME: 600, pycurl.NOSIGNAL: 1, pycurl.WRITEFUNCTION: Any(), pycurl.POST: True, pycurl.DNS_CACHE_TIMEOUT: 0, pycurl.ENCODING: b"gzip,deflate"})
Example #7
Source File: test_fetch.py From landscape-client with GNU General Public License v2.0 | 5 votes |
def test_basic(self): curl = CurlStub(b"result") result = fetch("http://example.com", curl=curl) self.assertEqual(result, b"result") self.assertEqual(curl.options, {pycurl.URL: b"http://example.com", pycurl.FOLLOWLOCATION: 1, pycurl.MAXREDIRS: 5, pycurl.CONNECTTIMEOUT: 30, pycurl.LOW_SPEED_LIMIT: 1, pycurl.LOW_SPEED_TIME: 600, pycurl.NOSIGNAL: 1, pycurl.WRITEFUNCTION: Any(), pycurl.DNS_CACHE_TIMEOUT: 0, pycurl.ENCODING: b"gzip,deflate"})
Example #8
Source File: __init__.py From EventGhost with GNU General Public License v2.0 | 5 votes |
def __init__(self, base_url="", fakeheaders=[]): self.handle = pycurl.Curl() # These members might be set. self.set_url(base_url) self.verbosity = 0 self.fakeheaders = fakeheaders # Nothing past here should be modified by the caller. self.payload = None self.payload_io = BytesIO() self.hrd = "" # Verify that we've got the right site; harmless on a non-SSL connect. self.set_option(pycurl.SSL_VERIFYHOST, 2) # Follow redirects in case it wants to take us to a CGI... self.set_option(pycurl.FOLLOWLOCATION, 1) self.set_option(pycurl.MAXREDIRS, 5) self.set_option(pycurl.NOSIGNAL, 1) # Setting this option with even a nonexistent file makes libcurl # handle cookie capture and playback automatically. self.set_option(pycurl.COOKIEFILE, "/dev/null") # Set timeouts to avoid hanging too long self.set_timeout(30) # Use password identification from .netrc automatically self.set_option(pycurl.NETRC, 1) self.set_option(pycurl.WRITEFUNCTION, self.payload_io.write) def header_callback(x): self.hdr += x.decode('ascii') self.set_option(pycurl.HEADERFUNCTION, header_callback)
Example #9
Source File: patator_ext.py From project-black with GNU General Public License v2.0 | 5 votes |
def connect(self, host, port, scheme): fp = pycurl.Curl() fp.setopt(pycurl.SSL_VERIFYPEER, 0) fp.setopt(pycurl.SSL_VERIFYHOST, 0) fp.setopt(pycurl.HEADER, 1) fp.setopt(pycurl.USERAGENT, 'Mozilla/5.0') fp.setopt(pycurl.NOSIGNAL, 1) return TCP_Connection(fp)
Example #10
Source File: test_fetch.py From landscape-client with GNU General Public License v2.0 | 5 votes |
def test_create_curl(self): curls = [] def pycurl_Curl(): curl = CurlStub(b"result") curls.append(curl) return curl Curl = pycurl.Curl try: pycurl.Curl = pycurl_Curl result = fetch("http://example.com") curl = curls[0] self.assertEqual(result, b"result") self.assertEqual(curl.options, {pycurl.URL: b"http://example.com", pycurl.FOLLOWLOCATION: 1, pycurl.MAXREDIRS: 5, pycurl.CONNECTTIMEOUT: 30, pycurl.LOW_SPEED_LIMIT: 1, pycurl.LOW_SPEED_TIME: 600, pycurl.NOSIGNAL: 1, pycurl.WRITEFUNCTION: Any(), pycurl.DNS_CACHE_TIMEOUT: 0, pycurl.ENCODING: b"gzip,deflate"}) finally: pycurl.Curl = Curl
Example #11
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 #12
Source File: tms_image.py From gbdxtools with MIT License | 5 votes |
def load_url(url, shape=(3, 256, 256)): if shape != (3, 256, 256): shape = shape[0][0], shape[1][0], shape[2][0] """ Loads a tms png inside a thread and returns as an ndarray """ thread_id = threading.current_thread().ident _curl = _curl_pool[thread_id] _curl.setopt(_curl.URL, url) _curl.setopt(pycurl.NOSIGNAL, 1) # cert errors on windows _curl.setopt(pycurl.CAINFO, certifi.where()) _, ext = os.path.splitext(urlparse(url).path) with NamedTemporaryFile(prefix="gbdxtools", suffix=ext, delete=False) as temp: # TODO: apply correct file extension _curl.setopt(_curl.WRITEDATA, temp.file) _curl.perform() code = _curl.getinfo(pycurl.HTTP_CODE) try: if(code != 200): raise TypeError("Request for {} returned unexpected error code: {}".format(url, code)) temp.file.flush() temp.close() arr = np.rollaxis(imread(temp.name), 2, 0) except Exception as e: print(e) arr = np.zeros(shape, dtype=np.uint8) _curl.close() del _curl_pool[thread_id] finally: temp.close() os.remove(temp.name) return arr
Example #13
Source File: patator.py From patator with GNU General Public License v2.0 | 5 votes |
def connect(self, host, port, scheme): fp = pycurl.Curl() fp.setopt(pycurl.SSL_VERIFYPEER, 0) fp.setopt(pycurl.SSL_VERIFYHOST, 0) fp.setopt(pycurl.HEADER, 1) fp.setopt(pycurl.USERAGENT, 'Mozilla/5.0') fp.setopt(pycurl.NOSIGNAL, 1) return TCP_Connection(fp)
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: fetch.py From gbdxtools with MIT License | 4 votes |
def load_url(url, token, shape=(8, 256, 256)): """ Loads a geotiff url inside a thread and returns as an ndarray """ _, ext = os.path.splitext(urlparse(url).path) success = False for i in xrange(MAX_RETRIES): thread_id = threading.current_thread().ident _curl = _curl_pool[thread_id] _curl.setopt(_curl.URL, url) _curl.setopt(pycurl.NOSIGNAL, 1) # for Windows local certificate errors _curl.setopt(pycurl.CAINFO, certifi.where()) _curl.setopt(pycurl.HTTPHEADER, ['Authorization: Bearer {}'.format(token)]) with NamedTemporaryFile(prefix="gbdxtools", suffix=ext, delete=False) as temp: # TODO: apply correct file extension _curl.setopt(_curl.WRITEDATA, temp.file) _curl.perform() code = _curl.getinfo(pycurl.HTTP_CODE) content_type = _curl.getinfo(pycurl.CONTENT_TYPE) try: if(code != 200): raise TypeError("Request for {} returned unexpected error code: {}".format(url, code)) temp.file.flush() temp.close() if content_type == 'image/tiff': arr = tifffile.imread(temp.name) else: arr = imageio.imread(temp.name) if len(arr.shape) == 3: arr = np.rollaxis(arr, 2, 0) else: arr = np.expand_dims(arr, axis=0) success = True return arr except Exception as e: _curl.close() del _curl_pool[thread_id] sleep(2**i) finally: temp.close() os.remove(temp.name) if success is False: raise TypeError("Unable to download tile {} in {} retries. \n\n Last fetch error: {}".format(url, MAX_RETRIES, e)) return arr
Example #17
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 #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 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 #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 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)