使用 httpx 让你的网络请求更简单

文摘   2024-12-23 21:55   辽宁  


平时我们写 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,早点成为网络请求的高手!

好了,今天就聊到这儿,有什么问题再来找我。加油!


小栗食养
日拱一卒,每天精进!
 最新文章