Python异步http请求modu

2024-04-26 00:14:53 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我提出请求的方式:

    from aiohttp import request
    def make_request(self, request_payload, request_headers, request_method, request_url_path):
        url = self.config["HOST_URL"] + "/" + request_url_path
        response = yield from request(request_method, url=url, params=request_payload, headers=request_headers, allow_redirects=False)
        return response

如果请求成功,这里的预期响应是response status 302和响应中的Location头,其中将包含需要进行重定向的url。在

问题是,我得到的响应状态为200,这是来自最终url的响应。我怎样才能达到我想要的?在

“allow_redirects=False”本该起作用,但它不起作用。我不知道如何才能让它按我的需要工作。在


Tags: pathfromimportselffalseurlaiohttpresponse
2条回答

注意:如果使用旧的基于生成器的语法,则应该使用decorator asyncio.coroutine。如果您使用的是python3.5+,请使用new syntax for coroutines。在

请提供可复制的最小代码片段(包括url、其他参数、Python版本),因为我不了解您所说的行为:

import asyncio
from aiohttp import request


@asyncio.coroutine
def make_request():
    url = 'http://httpbin.org/redirect/1'
    response = yield from request(method='GET', url=url, allow_redirects=False)
    print(response)


loop = asyncio.get_event_loop()
loop.run_until_complete(make_request())

输出:

^{pr2}$

请求支持一个可选的allow\u redirects参数,您可以将其设置为False。在

相关问题 更多 >