aiohttp.client_exceptions.ClientOSError: [WinError 10054] 远程主机强制关闭了一个已经存在的连接

12

我第一次尝试使用aiohttpasyncio,但是遇到了以下错误:

[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())


链接已经失效了,很遗憾。我收到了无效参数的提示,也许应该将其删除? - Cow
1
或者,尝试使用httpx包。还可以尝试使用带有http2=Truehttpx.AsyncClient - pepoluan
1个回答

2
这是由于您的网络连接中断了。您应该确保您的网络连接稳定。此外,您可以添加一个try except语句,稍后再尝试发送另一个请求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接