• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python httpclient.HTTPRequest类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中tornado.httpclient.HTTPRequest的典型用法代码示例。如果您正苦于以下问题:Python HTTPRequest类的具体用法?Python HTTPRequest怎么用?Python HTTPRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了HTTPRequest类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: fetch

    def fetch(self, url, **kwargs):
        # init HTTPRequest
        session = HTTPRequest('', follow_redirects=False)
        self.init_request(session, url, **kwargs)

        instance_parameters = copy.deepcopy(self._req_params) # 参数

        http_client = AsyncHTTPClient()


        while True:
            self.pre_request(session, url, **kwargs)
            try:
                response = yield http_client.fetch(session, **instance_parameters)
                break
            except HTTPError as httperr:
                # redirects handler
                if httperr.code > 300 and httperr.code < 400:
                    self.post_request(session, httperr.response, url, **kwargs)
                    session.url = httperr.response.effective_url


        del instance_parameters
        self.post_request(session, response, url, **kwargs)

        raise gen.Return(response)
开发者ID:ly0,项目名称:pycrawler,代码行数:26,代码来源:main.py


示例2: open_root_url

def open_root_url(step):
    request = HTTPRequest(ROOT_URL + 'user/state/')
    if world.cookie:
        request.headers["Cookie"] = world.cookie
    resp = world.browser.fetch(request)
    world.response = json_decode(resp.body)
    world.response_header = resp.headers
开发者ID:DopeChicCity,项目名称:newebe,代码行数:7,代码来源:steps.py


示例3: get_request

 def get_request(self, url, method='GET', body=None, headers=None):
     url = self.get_url(url)
     req = HTTPRequest(url, method=method, body=body)
     req.headers['Content-Type'] = 'application/json; charset=UTF-8'
     if headers:
         req.headers.update(headers)
     return req
开发者ID:vizydrop,项目名称:vizydrop-python-sdk,代码行数:7,代码来源:__init__.py


示例4: getData

 def getData(self,url,method,data,cookie):
     try:
         client = HTTPClient()
         request = HTTPRequest(
                 url,
                 method=method,
                 headers={
                     'Cookie':cookie
                 }
             )
         if data and method=="GET":
             url = url_concat(url,data)
             url = url.replace("+","%20")
             request.url = url
         elif data and method=="POST":
             realData = {}
             for i in data:
                 realData[i[0]] = i[1]
             data = urllib.urlencode(realData)
             request.body = data
         response = client.fetch(request)
         return json.loads(response.body)
     except Exception,e:
         # print str(e)
         #traceback.print_exc()
         return str(e)
开发者ID:HeraldStudio,项目名称:webservice-py,代码行数:26,代码来源:handler.py


示例5: _create_http_request

    def _create_http_request(self, method, host, port, path,
                             params=None, data=None, **kwargs):

        url = 'http://{host}:{port}{uri}'.format(host=host, port=port, uri=path)

        if params and isinstance(params, dict):
            url += '?' + urlencode(params)

        request = HTTPRequest(
            method=method,
            url=url,
            allow_nonstandard_methods=True,
            connect_timeout=self._connect_timeout,
            request_timeout=self._request_timeout,
            **kwargs
        )

        if data and method in ['POST', 'PUT', 'PATCH']:
            try:
                request.body = json.dumps(data)
            except TypeError as e:
                logging.error(str(e))
                raise DBApiError(e)

        return request
开发者ID:morentharia,项目名称:redis_validation_cache,代码行数:25,代码来源:direct_api.py


示例6: fetch

 def fetch(self, request, callback, **kwargs):
     if not isinstance(request, HTTPRequest):
         request = HTTPRequest(url=request, **kwargs)
     if not isinstance(request.headers, HTTPHeaders):
         request.headers = HTTPHeaders(request.headers)
     callback = stack_context.wrap(callback)
     _HTTPConnection(self.io_loop, request, callback)
开发者ID:mikelikespie,项目名称:tornado,代码行数:7,代码来源:simple_httpclient.py


示例7: getData

 def getData(self,url,method,data,cookie):
     try:
         client = HTTPClient()
         request = HTTPRequest(
                 url,
                 method=method,
                 headers={
                     'Cookie':cookie
                 }
             )
         if data and method=="GET":
             data = json.loads(data)
             url = url_concat(url,data)
             request.url = url
         elif data and method=="POST":
             data = json.loads(data)
             print data
             data = urllib.urlencode(data)
             request.body = data
         # print request.url
         response = client.fetch(request)
         return response.body
     except Exception,e:
         # print str(e)
         return None
开发者ID:HeraldStudio,项目名称:HeraldAppApi,代码行数:25,代码来源:yuyueHandler.py


示例8: fetch

    def fetch(self, request, callback, **kwargs):
        if not isinstance(request, HTTPRequest):
            request = HTTPRequest(url=request, **kwargs)
        # We're going to modify this (to add Host, Accept-Encoding, etc),
        # so make sure we don't modify the caller's object.  This is also
        # where normal dicts get converted to HTTPHeaders objects.
        request.headers = httputil.HTTPHeaders(request.headers)
        callback = stack_context.wrap(callback)

        key = object()
        self.queue.append((key, request, callback))

        if not len(self.active) < self.max_clients:
            timeout_handle = self.io_loop.add_timeout(
                time.time() + min(request.connect_timeout,
                                  request.request_timeout),
                functools.partial(self._on_timeout, key))
        else:
            timeout_handle = None

        self.waiting[key] = (request, callback, timeout_handle)
        self._process_queue()
        if self.queue:
            logging.debug(
                'max_clients limit reached, request queued. '
                '%d active, %d queued requests.' % (
                    len(self.active), len(self.queue))
            )
开发者ID:mSOHU,项目名称:http2,代码行数:28,代码来源:tornado2.py


示例9: perform_request

    def perform_request(self, request, response, method):
        try:
            constants = request_consts[method]

            url = request[constants.URL]
            timeout = request[constants.TIMEOUT]

            http_request = HTTPRequest(url=url, method=method)
            http_request.request_timeout = float(timeout)/1000

            if method == 'POST':
                http_request.body = request[constants.BODY]

            #adds cookies to request
            params_num = len(request)
            if constants.COOKIES <= params_num - 1:
                cookies = request[constants.COOKIES]
                if len(cookies) > 0:
                    list_of_cookies = list('{0}={1}'.format(cookie, value) for cookie, value in cookies.iteritems())
                    cookies_str = '; '.join(list_of_cookies)

                    http_request.headers.add('Cookie', cookies_str)

            #adds headers to request
            if constants.HEADERS <= params_num - 1:
                for name, values_list in request[constants.HEADERS].iteritems():
                    for value in values_list:
                        http_request.headers.add(name, value)

            self.logger.info("Downloading {0}, headers {1}, method {2}".format(url, http_request.headers, method))
            http_response = yield self.http_client.fetch(http_request)

            response_headers = self._get_headers_from_response(http_response)
            response.write((True, http_response.body, http_response.code, response_headers,))

            response.close()
            self.logger.info("{0} has been successfuly downloaded".format(url))
        except HTTPError as e:
            self.logger.info("Error ({0}) occured while downloading {1}".format(e.message, url))

            if e.response is not None:
                http_response = e.response
                response_headers = self._get_headers_from_response(http_response)
                response.write((False, http_response.body, http_response.code, response_headers,))
            else:
                response.write((False, '', e.code, {},))

            response.close()
        except socket.gaierror as e:
            self.logger.info("Error ({0}) occured while downloading {1}".format(e.message, url))
            response.write((False, '', e.errno, {},))
            response.close()
        except Exception as e:
            self.logger.error("Unhandled error ({0}) occured in perform_request, report about this problem "
                          "to httpclient service developers. Method is {1}, stacktrace is: {2}".format(
                                e.message, method, traceback.format_exc()))

            response.write((False, '', 0, {},))
            response.close()
开发者ID:lamerman,项目名称:httpclient-service,代码行数:59,代码来源:pyurlfetcher.py


示例10: create_request

 def create_request(self):
     request = HTTPRequest(url=self.request_data['url'], headers=self.request_data['headers'])
     self.patch_request(request)
     request.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36'
     #request.connect_timeout = 0
     request.request_timeout = 0
     request.header_only = False
     return request
开发者ID:mljack,项目名称:xunlei-lixian-proxy,代码行数:8,代码来源:tornado_httpproxyclient.py


示例11: fetch

 def fetch(self, path, body=None, **kwargs):
     kwargs['url'] = self.get_url(path)
     request = HTTPRequest(**kwargs)
     if body is not None:
         request.body = body
     request.allow_nonstandard_methods = True
     self.http_client.fetch(request, self.stop, method=None)
     return self.wait()
开发者ID:ContextLogic,项目名称:tornado,代码行数:8,代码来源:curl_httpclient_test.py


示例12: send_logout_request

def send_logout_request(step):
    request = HTTPRequest(ROOT_URL + "logout/", validate_cert=False)
    if world.cookie:
        request.headers["Cookie"] = world.cookie
    world.response = world.browser.fetch(request)
    if world.response.code == 200:
        world.cookie = ""
        world.browser.cookie = ""
开发者ID:DopeChicCity,项目名称:newebe,代码行数:8,代码来源:steps.py


示例13: fetch

 def fetch(self, request, callback, **kwargs):
     if not isinstance(request, HTTPRequest):
         request = HTTPRequest(url=request, **kwargs)
     if not isinstance(request.headers, HTTPHeaders):
         request.headers = HTTPHeaders(request.headers)
     callback = stack_context.wrap(callback)
     self.queue.append((request, callback))
     self._process_queue()
开发者ID:ExtensionFM,项目名称:tornado,代码行数:8,代码来源:simple_httpclient.py


示例14: fetch

 def fetch(self, path, **kwargs):
     kwargs['url'] = self.get_url(path)
     body = kwargs.pop('body', None)
     request = HTTPRequest(**kwargs)
     request.body = body
     request.allow_nonstandard_methods = True
     request.request_timeout = TIMEOUT
     self.http_client.fetch(request, self.stop, **kwargs)
     return self.wait()
开发者ID:bmentges,项目名称:brainiak_api,代码行数:9,代码来源:tornado_cases.py


示例15: wrapper

    def wrapper(self, request, callback, **kwargs):
        with HttpClientTransContext("tornado.simple_httpclient.SimpleAsyncHTTPClient.fetch") as context:
            if context:
                from tornado.httpclient import HTTPRequest

                if not isinstance(request, HTTPRequest):
                    request = HTTPRequest(url=request, **kwargs)
                request._td_httpclient_node = context
            return func(self, request, callback, **kwargs)
开发者ID:shaolianbo,项目名称:tornado_debug,代码行数:9,代码来源:tornado_httpclient_hook.py


示例16: post

    def post(self):
        # param from the client 
        message = {}
        message['status'] = 'error'
        message['returned_url'] = 'null'
        #url = self.get_argument('url', None)
        comic_id = self.get_argument('img', None)
        self.threash_hold = self.get_argument('threshold', 90)
        if not self.threash_hold:
            self.threash_hold = float(90)
        else:
            self.threash_hold =  float(self.threash_hold)
        if comic_id:
            comic_id = int(comic_id[5:])
        if len(self.request.files['file']) > 0:
            img_file = self.request.files['file'][0]
        # check the client params  
        if not img_file or comic_id <= 0:
            self.write(json.dumps(message))
            self.finish()
        else:
            self.comic_picture_id = comic_id 

        ######################################################
        # print self.client_cv_img 
        filename = img_file['filename']
        saved_path = self.IMAGE_PATH + filename 
        self.client_saved_img = saved_path 
        if not os.path.exists(filename):
            with open(saved_path, "wb") as fp:
                fp.write(img_file['body'])

        # save the client img 
        self.client_cv_img = scv.Image(r'%s' % str(saved_path)) 

        ######################################################
        # ok, we save the client image and gen the SimpleCV img 
        # we pass the client img url to oxford to get the params 
        # get parameters 
        get_params = urllib.urlencode({
                'analyzesFaceLandmarks': 'true',
                'analyzesAge': 'true',
                'analyzesGender': 'true',
                'analyzesHeadPose': 'true',
                })
        url = self.API_URL % get_params
        post_params = {}
        post_params['url'] = self.HOST + saved_path  
        #print post_params['url']
        # request 
        request = HTTPRequest(url, method='POST')
        request.body = json.dumps(post_params)
        request.headers['Content-Type'] = 'application/json'
        request.headers['Ocp-Apim-Subscription-key'] = self.TOKEN 
        # fetch 
        client = AsyncHTTPClient()
        client.fetch(request, self.handleResponse)
开发者ID:feilengcui008,项目名称:toy_toys,代码行数:57,代码来源:handlers.py


示例17: fetch

 def fetch(self, request, **kwargs):
     headers = kwargs['headers'] if 'headers' in kwargs else default_headers
     if not isinstance(request, HTTPRequest):
         request = HTTPRequest(url=request, headers = headers, **kwargs)
     request.headers = HTTPHeaders(request.headers if request.headers else headers)
     try:
         return self.http.fetch(request)
     except (HTTPError, SyntaxError), e:
         #todo log
         print "[ERROR]", e
开发者ID:Spectrumleeee,项目名称:Python,代码行数:10,代码来源:service.py


示例18: fetch

    def fetch(self, url, headers=None, body=None, method="GET", callback=None, raise_error=True, cache=None, **kwargs):
        headers = headers or {}
        body = body or "{}"
        """very simlar with AsyncHTTPClient.fetch
        """
        if self._closed:
            raise RuntimeError("fetch() called on closed AsyncHTTPClient")
        future = TracebackFuture()
        if isinstance(body, dict):
            for k,v in body.items():
                if v is None:
                    del body[k]
            body = urllib.urlencode(body)
        for k,v in headers.items(): #headers 只能接收str
            if v:
                headers[k] = str(headers[k])
            else:
                del headers[k]
        request = HTTPRequest(url=url,method=method,headers=headers,body=body, allow_nonstandard_methods=True, request_timeout=600 ,**kwargs)
        # We may modify this (to add Host, Accept-Encoding, etc),
        # so make sure we don't modify the caller's object.  This is also
        # where normal dicts get converted to HTTPHeaders objects.
        request.headers = httputil.HTTPHeaders(request.headers)
        request = _RequestProxy(request, self.defaults)
        if callback is not None:
            callback = stack_context.wrap(callback)

            def handle_future(future):
                exc = future.exception()
                if isinstance(exc, HTTPError) and exc.response is not None:
                    response = exc.response
                elif exc is not None:
                    response = HTTPResponse(
                        request, 599, error=exc,
                        request_time=time.time() - request.start_time)
                else:
                    response = future.result()
                self.io_loop.add_callback(callback, response)
            future.add_done_callback(handle_future)

        def handle_response(response):
            if raise_error and response.error:
                future.set_exception(response.error)
            else:
                try:
                    resp = json.loads(str(response.body))
                    if resp.get("statusCode") and resp.get("statusCode")==800:
                        future.set_result(resp)
                        log.info(json.dumps({"response":resp,"body":body,"headers":headers,"url":url}))
                    else:
                        future.set_result({"error_type":"statusCode is not 800", "response":resp,"body":body,"headers":headers,"url":url})
                        log.error(json.dumps({"error_type":"statusCode is not 800", "response":resp,"body":body,"headers":headers,"url":url}))
                except Exception,e:
                    future.set_result({"error_type":"json.loads failed!","error":str(e),"response.body":response.body,"body":body,"headers":headers,"url":url})
                    log.error(json.dumps({"error_type":"json.loads failed!","error":str(e),"response.body":response.body,"body":body,"headers":headers,"url":url}))
开发者ID:astwyg,项目名称:ct-fcore,代码行数:55,代码来源:client.py


示例19: _request

 def _request(self, extension, body, callback):
     """Wraps tornado syntax for sending an HTTP request."""
     request = HTTPRequest('http://{}/{}'.format(self.ip, extension),
                           connect_timeout=self.timeout,
                           request_timeout=self.timeout)
     if body:
         request.body = body
         request.method = 'POST'
     if extension == 'ToolWeb/Cmd':
         request.headers = {'Content-Type': 'text/xml'}
     self.client.fetch(request, callback)
开发者ID:numat,项目名称:mfc,代码行数:11,代码来源:__init__.py


示例20: post

    def post(self, url, body):
        """
        Perform a POST request.
        """

        if hasattr(self, "root_url") and self.root_url:
            url = self.root_url + url

        request = HTTPRequest(url, method="POST", body=body, validate_cert=False)
        if hasattr(self, "cookie") and self.cookie:
            request.headers["Cookie"] = self.cookie
        return HTTPClient.fetch(self, request)
开发者ID:tonthon,项目名称:newebe,代码行数:12,代码来源:test_util.py



注:本文中的tornado.httpclient.HTTPRequest类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python httpserver.HTTPServer类代码示例发布时间:2022-05-27
下一篇:
Python httpclient.HTTPError类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap