Python使用aiohttp库进行异步处理 HTTP 请求和响应

aiohttp 是一个用于 Python 编程语言的异步 HTTP 客户端和服务器库。它基于 Python 的 asyncio 库,允许你编写高效、非阻塞的网络代码。aiohttp 支持异步编程,使得在处理 I/O 密集型任务(如网络请求)时可以更高效地利用系统资源。

你可以使用 pip 来安装 aiohttp:

pip install aiohttp

以下是如何进行异步 HTTP 请求的示例:

import aiohttp
import asyncio

async def download(session, url):
    async with session.get(url) as response:
        return await response.text()

async def main():
    async with aiohttp.ClientSession() as session:
        html = await download(session, 'http://python.org')
        print(html)

if __name__ == '__main__':
    asyncio.run(main())  # 运行事件循环

注意事项:

1、获取结果:

text = await resp.text() 

 或者 

content = await resp.content.read()

2、使用已有cookie

(1)不能直接用http.cookiejar.CookieJar对象,要用aiohttp.CookieJar对象,但是转换好麻烦

(2)直接在headers添加已有cookie

cookie_str=''

for cookie in cookiejar:

    cookie_str+='{}={};'.format(cookie.name,cookie.value)

headers['Cookie']=cookie_str

3、使用代理

from aiohttp_socks import ProxyConnector

proxies = 'http://127.0.0.1:8888' # 代理ip和端口号,要指定协议

async with aiohttp.ClientSession(connector=ProxyConnector.from_url(proxies)) as session:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值