Python基于httpx模塊實現(xiàn)發(fā)送請求
一、httpx模塊是什么?
一個用于http請求的模塊,類似于requests、aiohttp;既能發(fā)送同步請求(是指在單進程單線程的代碼中,發(fā)起一次請求后,在收到返回結(jié)果之前,不能發(fā)起下一次請求),又能發(fā)送異步請求(是指在單進程單線程的代碼中,發(fā)起一次請求后,在等待網(wǎng)站返回結(jié)果的時間里,可以繼續(xù)發(fā)送更多請求)。
二、httpx模塊基礎(chǔ)使用
2.1 httpx模塊安裝
pip install httpx
2.2 httpx模塊基礎(chǔ)使用
import httpxres = httpx.get(’http://www.hnxmxit.com/’)print( res.status_code )print( res.headers )print( res.content.decode(’utf8’) )
上述代碼是通過httpx模塊發(fā)送一個打開網(wǎng)站首頁的情況,然后返回狀態(tài)碼、響應(yīng)頭信息的例子,讀者應(yīng)該發(fā)現(xiàn)和requests很像。
2.2 模擬請求頭
import httpxget_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’))
上述代碼完成在百度中搜索 湖南軟測 的例子,其實寫法完全和requests相同
三、小結(jié):
requests 和 httpx都能模擬發(fā)送請求 具一些大神測試后,httpx由于支持異步請求,所以發(fā)送大量的請求時,httpx的效率是優(yōu)于requests的以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python 通過正則表達式快速獲取電影的下載地址2. node.js降低版本的方式詳解(解決sass和node.js沖突問題)3. python 實現(xiàn)添加標(biāo)簽&打標(biāo)簽的操作4. 在Archlinux系統(tǒng)中安裝Scim-Python輸入法5. PHP程序員的技術(shù)成長規(guī)劃6. SpringMVC生成的驗證碼圖片不顯示問題及解決方法7. 詳解PHP實現(xiàn)HTTP服務(wù)器過程8. Ajax實現(xiàn)登錄案例9. HTML-Canvas的優(yōu)越性能以及實際應(yīng)用10. vue動態(tài)渲染svg、添加點擊事件的實現(xiàn)
