无法使用 aiohttp 通过 unix 套接字向服务器发出请求

It is not possible to make a request to the server over a unix socket using aiohttp

提问人:N.Maxim 提问时间:9/20/2023 最后编辑:PrudhvirajN.Maxim 更新时间:9/20/2023 访问量:60

问:

我正在尝试向 using 发出 POST 请求,但出现以下错误:unix socketaiohttp

await client.post('/test',   File ".../test/env/lib/python3.9/site-packages/aiohttp/client.py", line 508, in _request     
req = self._request_class(   File ".../env/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 305, in __init__     self.update_host(url)   
File ".../env/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 364, in update_host     
raise InvalidURL(url) aiohttp.client_exceptions.InvalidURL: /test

法典:

async with ClientSession(connector=UnixConnector(path='.../server.sock')) as client:
    response = await client.post('/test')
python-3.x 异常 发布 aiohttp

评论


答:

1赞 Andrew Svetlov 9/20/2023 #1

'/test'不是绝对 URL。

尝试类似的东西。'http://fake.org/test'

评论

0赞 N.Maxim 9/20/2023
也就是说,如果使用 unix 套接字连接器,完整地址中的主机将被忽略?
0赞 Andrew Svetlov 9/21/2023
它仍然存在于 HTTP 协议的意义上,但它不用于选择要连接到的 UNIX 套接字地址。