Aiohttp client throws an error clientconnectorerror
вот мой код:
import asyncio
from aiohttp import ClientSession
async def main():
url = “https://stackoverflow.com/”
async with ClientSession() as session:
async with session.get(url) as resp:
print(resp.status)
asyncio.run(main())
если я запускаю его на своем компьютере, все работает, но если я запускаю его на pythonanywhere, я получаю эту ошибку:
Traceback (most recent call last):
File “/home/0dminnimda/.local/lib/python3.8/site-packages/aiohttp/connector.py”, line 936, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore # noqa
File “/usr/lib/python3.8/asyncio/base_events.py”, line 1017, in create_connection
raise exceptions[0]
File “/usr/lib/python3.8/asyncio/base_events.py”, line 1002, in create_connection
sock = await self._connect_sock(
File “/usr/lib/python3.8/asyncio/base_events.py”, line 916, in _connect_sock
await self.sock_connect(sock, address)
File “/usr/lib/python3.8/asyncio/selector_events.py”, line 485, in sock_connect
return await fut
File “/usr/lib/python3.8/asyncio/selector_events.py”, line 517, in _sock_connect_cb
raise OSError(err, f’Connect call failed {address}’)
ConnectionRefusedError: [Errno 111] Connect call failed (‘151.101.193.69’, 443)
The above exception was the direct cause of the following exception:
aiohttp на хостинге:
Name: aiohttp
Version: 3.6.2
Summary: Async http client/server framework (asyncio)
Home-page: https://github.com/aio-libs/aiohttp
Author: Nikolay Kim
Author-email: fafhrd91@gmail.com
License: Apache 2
Location: /home/0dminnimda/.local/lib/python3.8/site-packages
Requires: chardet, async-timeout, multidict, yarl, attrs
Required-by:
Я в недоумении, что это не так? Я запускаю оба файла с помощью python3.8.
Я также пробовал другие URL-адреса, у них та же проблема
Нужно ли добавлять какие-либо дополнительные сведения?
Required-by:
Ответ
Ссылаясь на справку с форума, я добавил trust_env = Trueпри создании клиента, и теперь все работает.
Объяснение: бесплатные учетные записи на PythonAnywhere должны использовать прокси для подключения к общедоступному Интернету, но aiohttp по умолчанию не подключается к прокси, доступному из переменной среды.
Вот новый код:
import asyncio
from aiohttp import ClientSession
async def main():
url = “https://stackoverflow.com/”
async with ClientSession(trust_env=True) as session:
async with session.get(url) as resp:
print(resp.status)
asyncio.run(main())
Всем привет
Я хочу выбрать pythonanywhere для моего чат-бота telegram, но у меня есть 1 ошибка после запуска моего скрипта python. Я потратил много времени, но не справился с этой проблемой. Будет здорово, если кто-нибудь мне поможет, потому что я хочу обновить свою бесплатную учетную запись и использовать эту платформу для своих ботов, но это не имеет смысла из-за этой проблемы (
требования: aiohttp-3.7.3 aiogram-2.10.1
Ошибка: aiogram.utils.exceptions.Ошибка сети: клиент Aiohttp выдает ошибку: ClientConnectorError: не удается подключиться к api хоста.telegram.org: 443 ssl: по умолчанию [Сеть недоступна]
Решение
Вы настроили прокси?
Я пытался использовать прокси, но он работает только на моем локальном компьютере. Не в pythonanywhere
Может быть, если я обновлю свою учетную запись pythonanywhere, все будет в порядке?
Убедитесь, что вы используете правильные данные прокси-сервера. Если вы обновите свою учетную запись, это также должно решить вашу проблему.