我第一次尝试使用aiohttp
和asyncio
,但是遇到了以下错误:
[WinError 10054] 远程主机强制关闭了一个现有的连接
然而,当我使用requests
获取相同的URL时,它可以正常工作。那么这个错误是什么意思,如何解决?
我的代码:
import aiohttp
import asyncio
url = 'https://nseindia.com/api/historical/fo/derivatives?&from=24-01-2020&to=24-01-2020&expiryDate=06-FEB-2020&instrumentType=OPTIDX&symbol=NIFTY&csv=true'
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"}
async def get_data():
async with aiohttp.ClientSession(headers=headers) as session:
async with session.get(url) as resp:
result = await resp.text()
return result
async def main():
result = await get_data()
return result
asyncio.run(main())
httpx
包。还可以尝试使用带有http2=True
的httpx.AsyncClient
。 - pepoluan