#python #asynchronous #proxy #python-requests #aiohttp
#python #асинхронный #прокси #python-запросы #aiohttp
Вопрос:
Я использую aiohttps для отправки запроса get. Раньше я использовал стандартный модуль запросов, но после перехода на aiohttps я начал получать ошибки прокси.
Вот моя конфигурация прокси-сервера:
with open('proxies.txt', 'r') as f:
lines = f.read().split("n")
split_proxies = [line.split(":") for line in lines]
proxies = [{'http:':f"http://{p[2]}:{p[3]}@{p[0]}:{p[1]}",'https:':f"https://{p[2]}:{p[3]}@{p[0]}:{p[1]}"} for p in split_proxies]
print(split_proxies)
И вот мой код:
async def Requests_loop():
async with aiohttp.ClientSession() as s:
async with s.get(url, headers=headers, proxy=random.choice(proxies)) as r:
При использовании аргумента proxies это выдало бы мне неожиданную ошибку аргумента, и как только я прочитал документацию, в ней говорилось использовать прокси вместо этого. Однако я получаю эту ошибку:
async with s.get(url, headers=headers, proxy=random.choice(proxies)) as r:
File "C:UsersroyceAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagesaiohttpclient.py", line 1012, in __aenter__
self._resp = await self._coro
File "C:UsersroyceAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagesaiohttpclient.py", line 391, in _request
proxy = URL(proxy)
File "C:UsersroyceAppDataLocalPackagesPythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0LocalCachelocal-packagesPython38site-packagesyarl_url.py", line 152, in __new__
raise TypeError("Constructor parameter should be str")
TypeError: Constructor parameter should be str
Комментарии:
1. Попробуйте выполнить печать
url
.2. url хороший, он работал нормально, когда я просто использовал обычные запросы и те же прокси
3. С принтами
random.choice(proxies)
. Это должна быть строка.4. после превращения его в строку он сказал, что принимаются только http-прокси, но после изменения он по-прежнему говорит, что поддерживаются только http-прокси. Вот пример того, что печатается, если я печатаю прокси rp_user_1321:Nqn8VLlsdXDeyojd_country-UnitedKingdom_session-RPa …