擅长:python、mysql、java
<p>回顾了所有的答案,得出了问题仍然存在的结论。在某些站点上,请求可能无限挂起,并且使用多处理似乎是过度的。以下是我的方法(Python3.5+):</p>
<pre><code>import asyncio
import aiohttp
async def get_http(url):
async with aiohttp.ClientSession(conn_timeout=1, read_timeout=3) as client:
try:
async with client.get(url) as response:
content = await response.text()
return content, response.status
except Exception:
pass
loop = asyncio.get_event_loop()
task = loop.create_task(get_http('http://example.com'))
loop.run_until_complete(task)
result = task.result()
if result is not None:
content, status = task.result()
if status == 200:
print(content)
</code></pre>