平时我们写 Python 代码时,免不了要跟各种网络请求打交道。如果你之前用过 requests
库,那肯定知道它用起来很顺手。不过今天我给你推荐个更强大的家伙——httpx
。它不仅支持普通请求,还支持异步操作,效率杠杠的!最关键的是,它的用法也非常简单,和 requests
差不多,但却多了一些让程序更灵活的特性。下面我就带你一步步来看看怎么用。
第一步:安装 httpx
首先,我们得装上这个库。打开你的终端,输入以下命令:
pip install httpx
搞定!有了装备,咱就可以开始做请求了。
第二步:发送一个简单的 GET 请求
我们先来个最基础的 GET 请求。比如你想获取某个网页的内容,代码就这么简单:
import httpx
response = httpx.get('https://www.example.com')
print(response.text)
看见没?httpx.get
就是发送 GET 请求的方式,获取网页内容只需用 response.text
,基本上和 requests
一模一样。是不是超熟悉?
第三步:发送带参数的请求
有时候我们还需要在请求里带上一些参数,比如发个带查询参数的 GET 请求:
url = 'https://www.example.com/search'
params = {'q': 'httpx', 'lang': 'en'}
response = httpx.get(url, params=params)
print(response.url) # 注意这里可以看到完整的带参数的URL
你瞧,只需通过 params
参数就可以轻松带上查询条件。比你手动拼接 URL 要清爽得多。
第四步:POST 请求也很简单
咱再说说 POST 请求。比如你想提交一些数据,像提交一个表单:
url = 'https://www.example.com/submit'
data = {'name': 'John', 'email': 'john@example.com'}
response = httpx.post(url, data=data)
print(response.text)
一样的套路,httpx.post
直接丢个 data
进去就完事,简单吧?
第五步:异步请求(加分技能!)
接下来就是 httpx
真正好用的地方了——异步操作!有时候我们需要并发处理一堆请求,如果是同步的,很可能因为某些请求慢而卡住。这时异步就派上用场了。来看个小例子:
import httpx
import asyncio
async def fetch_data():
async with httpx.AsyncClient() as client:
response = await client.get('https://www.example.com')
print(response.text)
asyncio.run(fetch_data())
瞧见了没?我们用 httpx.AsyncClient
来发送异步请求,还用了 await
来等待请求完成。要是你有成百上千个请求要发,这种方式会让你的程序快很多。
最后:总结一下
今天咱们从最基础的 GET 请求、带参数请求、POST 提交,讲到异步操作,基本涵盖了日常使用 httpx
的大部分场景。要是你平时做 Web 开发或者搞数据采集,httpx
能让你代码更高效简洁。
怎么样,感觉上手不难吧?记住,边用边学是最快的!希望这个小教程能帮你轻松学会 httpx
,早点成为网络请求的高手!
好了,今天就聊到这儿,有什么问题再来找我。加油!