Python pycurl.RESPONSE_CODE Examples
The following are 8
code examples of pycurl.RESPONSE_CODE().
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: 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 #2
Source File: pycurldownload.py From QMusic with GNU Lesser General Public License v2.1 | 5 votes |
def process_curl(self, curl): ''' 下载结果处理 ''' self.mcurl.remove_handle(curl) c = curl.connection c.errno = curl.errno c.errmsg = curl.errmsg self.working_connections.remove(c) if c.errno == pycurl.E_OK: c.code = curl.getinfo(pycurl.RESPONSE_CODE) d = self.process_ok(c) else: d = self.process_error(c) return d
Example #3
Source File: pycurllib.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def urlopen(req, close=True): if isinstance(req, str): req = Request(req) response = StringIO2() if DEBUG: req.c.setopt(req.c.VERBOSE, 1) req.c.setopt(req.c.WRITEFUNCTION, response.write) if req.headers: req.c.setopt(req.c.HTTPHEADER, req._make_headers()) req.c.perform() response.seek(-1) #print repr(response.getvalue()) response.code = req.c.getinfo(pycurl.RESPONSE_CODE) response.code = int(response.code) try: response.msg = BaseHTTPRequestHandler.responses[response.code][0] except: response.msg = "No Reason" response.content_type = req.c.getinfo(pycurl.CONTENT_TYPE) if close: req.c.close() return response
Example #4
Source File: pycurllib.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def urlopen(req, close=True): if isinstance(req, str): req = Request(req) response = StringIO2() if DEBUG: req.c.setopt(req.c.VERBOSE, 1) req.c.setopt(req.c.WRITEFUNCTION, response.write) if req.headers: req.c.setopt(req.c.HTTPHEADER, req._make_headers()) req.c.perform() response.seek(-1) #print repr(response.getvalue()) response.code = req.c.getinfo(pycurl.RESPONSE_CODE) response.code = int(response.code) try: response.msg = BaseHTTPRequestHandler.responses[response.code][0] except: response.msg = "No Reason" response.content_type = req.c.getinfo(pycurl.CONTENT_TYPE) if close: req.c.close() return response
Example #5
Source File: __init__.py From EventGhost with GNU General Public License v2.0 | 5 votes |
def info(self): "Return a dictionary with all info on the last response." m = {} m['effective-url'] = self.handle.getinfo(pycurl.EFFECTIVE_URL) m['http-code'] = self.handle.getinfo(pycurl.HTTP_CODE) m['total-time'] = self.handle.getinfo(pycurl.TOTAL_TIME) m['namelookup-time'] = self.handle.getinfo(pycurl.NAMELOOKUP_TIME) m['connect-time'] = self.handle.getinfo(pycurl.CONNECT_TIME) m['pretransfer-time'] = self.handle.getinfo(pycurl.PRETRANSFER_TIME) m['redirect-time'] = self.handle.getinfo(pycurl.REDIRECT_TIME) m['redirect-count'] = self.handle.getinfo(pycurl.REDIRECT_COUNT) m['size-upload'] = self.handle.getinfo(pycurl.SIZE_UPLOAD) m['size-download'] = self.handle.getinfo(pycurl.SIZE_DOWNLOAD) m['speed-upload'] = self.handle.getinfo(pycurl.SPEED_UPLOAD) m['header-size'] = self.handle.getinfo(pycurl.HEADER_SIZE) m['request-size'] = self.handle.getinfo(pycurl.REQUEST_SIZE) m['content-length-download'] = self.handle.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD) m['content-length-upload'] = self.handle.getinfo(pycurl.CONTENT_LENGTH_UPLOAD) m['content-type'] = self.handle.getinfo(pycurl.CONTENT_TYPE) m['response-code'] = self.handle.getinfo(pycurl.RESPONSE_CODE) m['speed-download'] = self.handle.getinfo(pycurl.SPEED_DOWNLOAD) m['ssl-verifyresult'] = self.handle.getinfo(pycurl.SSL_VERIFYRESULT) m['filetime'] = self.handle.getinfo(pycurl.INFO_FILETIME) m['starttransfer-time'] = self.handle.getinfo(pycurl.STARTTRANSFER_TIME) m['redirect-time'] = self.handle.getinfo(pycurl.REDIRECT_TIME) m['redirect-count'] = self.handle.getinfo(pycurl.REDIRECT_COUNT) m['http-connectcode'] = self.handle.getinfo(pycurl.HTTP_CONNECTCODE) m['httpauth-avail'] = self.handle.getinfo(pycurl.HTTPAUTH_AVAIL) m['proxyauth-avail'] = self.handle.getinfo(pycurl.PROXYAUTH_AVAIL) m['os-errno'] = self.handle.getinfo(pycurl.OS_ERRNO) m['num-connects'] = self.handle.getinfo(pycurl.NUM_CONNECTS) m['ssl-engines'] = self.handle.getinfo(pycurl.SSL_ENGINES) m['cookielist'] = self.handle.getinfo(pycurl.INFO_COOKIELIST) m['lastsocket'] = self.handle.getinfo(pycurl.LASTSOCKET) m['ftp-entry-path'] = self.handle.getinfo(pycurl.FTP_ENTRY_PATH) return m
Example #6
Source File: xcoin_api_client.py From Coiner with Apache License 2.0 | 4 votes |
def xcoinApiCall(self, endpoint, rg_params): # 1. Api-Sign and Api-Nonce information generation. # 2. Request related information from the Bithumb API server. # # - nonce: it is an arbitrary number that may only be used once. # - api_sign: API signature information created in various combinations values. endpoint_item_array = { "endpoint" : endpoint } uri_array = dict(endpoint_item_array, **rg_params) # Concatenate the two arrays. str_data = urllib.parse.urlencode(uri_array) nonce = self.usecTime() data = endpoint + chr(0) + str_data + chr(0) + nonce utf8_data = data.encode('utf-8') key = self.api_secret utf8_key = key.encode('utf-8') h = hmac.new(bytes(utf8_key), utf8_data, hashlib.sha512) hex_output = h.hexdigest() utf8_hex_output = hex_output.encode('utf-8') api_sign = base64.b64encode(utf8_hex_output) utf8_api_sign = api_sign.decode('utf-8') curl_handle = pycurl.Curl() curl_handle.setopt(pycurl.POST, 1) #curl_handle.setopt(pycurl.VERBOSE, 1) # vervose mode :: 1 => True, 0 => False curl_handle.setopt(pycurl.POSTFIELDS, str_data) url = self.api_url + endpoint curl_handle.setopt(curl_handle.URL, url) curl_handle.setopt(curl_handle.HTTPHEADER, ['Api-Key: ' + self.api_key, 'Api-Sign: ' + utf8_api_sign, 'Api-Nonce: ' + nonce]) curl_handle.setopt(curl_handle.WRITEFUNCTION, self.body_callback) curl_handle.perform() #response_code = curl_handle.getinfo(pycurl.RESPONSE_CODE) # Get http response status code. curl_handle.close() return (json.loads(self.contents))
Example #7
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 #8
Source File: curl_result.py From falsy with MIT License | 3 votes |
def curl_result(c): effective_url = c.getinfo(pycurl.EFFECTIVE_URL) primary_ip = c.getinfo(pycurl.PRIMARY_IP) primary_port = c.getinfo(pycurl.PRIMARY_PORT) local_ip = c.getinfo(pycurl.LOCAL_IP) local_port = c.getinfo(pycurl.LOCAL_PORT) speed_download = c.getinfo(pycurl.SPEED_DOWNLOAD) size_download = c.getinfo(pycurl.SIZE_DOWNLOAD) redirect_time = c.getinfo(pycurl.REDIRECT_TIME) redirect_count = c.getinfo(pycurl.REDIRECT_COUNT) redirect_url = c.getinfo(pycurl.REDIRECT_URL) http_code = c.getinfo(pycurl.HTTP_CODE) response_code = c.getinfo(pycurl.RESPONSE_CODE) total_time = c.getinfo(pycurl.TOTAL_TIME) content_type = c.getinfo(pycurl.CONTENT_TYPE) namelookup_time = c.getinfo(pycurl.NAMELOOKUP_TIME) info_filetime = c.getinfo(pycurl.INFO_FILETIME) http_connectcode = c.getinfo(pycurl.HTTP_CONNECTCODE) starttransfer_time = c.getinfo(pycurl.STARTTRANSFER_TIME) pretransfer_time = c.getinfo(pycurl.PRETRANSFER_TIME) header_size = c.getinfo(pycurl.HEADER_SIZE) request_size = c.getinfo(pycurl.REQUEST_SIZE) ssl_verifyresult = c.getinfo(pycurl.SSL_VERIFYRESULT) num_connects = c.getinfo(pycurl.NUM_CONNECTS) return { 'effective_url': effective_url, 'primary_ip': primary_ip, 'primary_port': primary_port, 'local_ip': local_ip, 'local_port': local_port, 'speed_download': speed_download, 'size_download': size_download, 'redirect_time': redirect_time, 'redirect_count': redirect_count, 'redirect_url': redirect_url, 'http_code': http_code, 'response_code': response_code, 'total_time': total_time, 'content_type': content_type, 'namelookup_time': namelookup_time, 'info_filetime': info_filetime, 'http_connectcode': http_connectcode, 'starttransfer_time': starttransfer_time, 'pretransfer_time': pretransfer_time, 'header_size': header_size, 'request_size': request_size, 'ssl_verifyresult': ssl_verifyresult, 'num_connects': num_connects, # 'proxy_ssl_verifyresult': proxy_ssl_verifyresult, # 'app_connecttime': app_connecttime, }