Python基于httpx模塊實(shí)現(xiàn)發(fā)送請求
一、httpx模塊是什么?
一個(gè)用于http請求的模塊,類似于requests、aiohttp;
既能發(fā)送同步請求(是指在單進(jìn)程單線程的代碼中,發(fā)起一次請求后,在收到返回結(jié)果之前,不能發(fā)起下一次請求),又能發(fā)送異步請求(是指在單進(jìn)程單線程的代碼中,發(fā)起一次請求后,在等待網(wǎng)站返回結(jié)果的時(shí)間里,可以繼續(xù)發(fā)送更多請求)。
二、httpx模塊基礎(chǔ)使用
2.1 httpx模塊安裝
pip install httpx
2.2 httpx模塊基礎(chǔ)使用
import httpx
res = httpx.get('http://www.hnxmxit.com/')
print( res.status_code )
print( res.headers )
print( res.content.decode('utf8') )
上述代碼是通過httpx模塊發(fā)送一個(gè)打開網(wǎng)站首頁的情況,然后返回狀態(tài)碼、響應(yīng)頭信息的例子,讀者應(yīng)該發(fā)現(xiàn)和requests很像。
2.2 模擬請求頭
import httpx
get_param_data = {'wd':'湖南軟測'}
headinfos = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
'Accept-Encoding':'gzip,deflate,br',
'Accept-Language':'zh-CN,zh;q=0.9',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
}
response = httpx.get( url='https://www.baidu.com/s',params=get_param_data,headers=headinfos )
print(response.content.decode('utf-8'))
上述代碼完成在百度中搜索 湖南軟測 的例子,其實(shí)寫法完全和requests相同
三、小結(jié):
- requests 和 httpx都能模擬發(fā)送請求
- 具一些大神測試后,httpx由于支持異步請求,所以發(fā)送大量的請求時(shí),httpx的效率是優(yōu)于requests的
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用PyInstaller將Python代碼打包成獨(dú)立可執(zhí)行文件詳細(xì)步驟
PyInstaller是一個(gè)Python庫,可以將Python應(yīng)用程序轉(zhuǎn)換為獨(dú)立的可執(zhí)行文件,這篇文章主要給大家介紹了關(guān)于使用PyInstaller將Python代碼打包成獨(dú)立可執(zhí)行文件的詳細(xì)步驟,需要的朋友可以參考下2024-07-07
python之生成多層json結(jié)構(gòu)的實(shí)現(xiàn)
今天小編就為大家分享一篇python之生成多層json結(jié)構(gòu)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
python自定義函數(shù)def的應(yīng)用詳解
Python中函數(shù)及默認(rèn)參數(shù)的定義與調(diào)用操作實(shí)例分析
Python實(shí)現(xiàn)圖片分割的多種方法總結(jié)

