Python基于httpx模塊實(shí)現(xiàn)發(fā)送請(qǐng)求
一、httpx模塊是什么?
一個(gè)用于http請(qǐng)求的模塊,類似于requests、aiohttp;既能發(fā)送同步請(qǐng)求(是指在單進(jìn)程單線程的代碼中,發(fā)起一次請(qǐng)求后,在收到返回結(jié)果之前,不能發(fā)起下一次請(qǐng)求),又能發(fā)送異步請(qǐng)求(是指在單進(jìn)程單線程的代碼中,發(fā)起一次請(qǐng)求后,在等待網(wǎng)站返回結(jié)果的時(shí)間里,可以繼續(xù)發(fā)送更多請(qǐng)求)。
二、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ā)送一個(gè)打開網(wǎng)站首頁的情況,然后返回狀態(tài)碼、響應(yīng)頭信息的例子,讀者應(yīng)該發(fā)現(xiàn)和requests很像。
2.2 模擬請(qǐng)求頭
import httpxget_param_data = {’wd’:’湖南軟測(cè)’}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’))
上述代碼完成在百度中搜索 湖南軟測(cè) 的例子,其實(shí)寫法完全和requests相同
三、小結(jié):
requests 和 httpx都能模擬發(fā)送請(qǐng)求 具一些大神測(cè)試后,httpx由于支持異步請(qǐng)求,所以發(fā)送大量的請(qǐng)求時(shí),httpx的效率是優(yōu)于requests的以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問題及解決2. python爬蟲實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊3. Java剖析工具YourKit 發(fā)布5.0版本4. 開發(fā)效率翻倍的Web API使用技巧5. python實(shí)現(xiàn)坦克大戰(zhàn)6. 使用JSP技術(shù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的在線測(cè)試系統(tǒng)的實(shí)例詳解7. 跟我學(xué)XSL(一)第1/5頁8. Python中內(nèi)建模塊collections如何使用9. 為什么你的android代碼寫得這么亂10. 解決VUE項(xiàng)目localhost端口服務(wù)器拒絕連接,只能用127.0.0.1的問題
