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)站首頁(yè)的情況,然后返回狀態(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. 詳解Android studio 動(dòng)態(tài)fragment的用法2. Android如何加載Base64編碼格式圖片3. 解決Android studio xml界面無(wú)法預(yù)覽問題4. 圖文詳解vue中proto文件的函數(shù)調(diào)用5. 什么是python的自省6. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁(yè)效果(實(shí)例代碼)7. Vuex localStorage的具體使用8. php模擬實(shí)現(xiàn)斗地主發(fā)牌9. vue 使用localstorage實(shí)現(xiàn)面包屑的操作10. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備