Python基于httpx模块实现发送请求


Posted in Python onJuly 07, 2020

一、httpx模块是什么?

一个用于http请求的模块,类似于requests、aiohttp;
既能发送同步请求(是指在单进程单线程的代码中,发起一次请求后,在收到返回结果之前,不能发起下一次请求),又能发送异步请求(是指在单进程单线程的代码中,发起一次请求后,在等待网站返回结果的时间里,可以继续发送更多请求)。

二、httpx模块基础使用

2.1 httpx模块安装

pip install httpx

2.2 httpx模块基础使用

import httpx
res = httpx.get('http://www.hnxmxit.com/')
print( res.status_code )
print( res.headers )
print( res.content.decode('utf8') )

上述代码是通过httpx模块发送一个打开网站首页的情况,然后返回状态码、响应头信息的例子,读者应该发现和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'))

上述代码完成在百度中搜索 湖南软测 的例子,其实写法完全和requests相同

三、小结:

  • requests 和 httpx都能模拟发送请求
  • 具一些大神测试后,httpx由于支持异步请求,所以发送大量的请求时,httpx的效率是优于requests的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实例分享:快速查找出被挂马的文件
Jun 08 Python
python的Template使用指南
Sep 11 Python
在Python中用get()方法获取字典键值的教程
May 21 Python
教你学会使用Python正则表达式
Sep 07 Python
python多线程socket编程之多客户端接入
Sep 12 Python
python写一个md5解密器示例
Feb 23 Python
Python中实例化class的执行顺序示例详解
Oct 14 Python
通过Turtle库在Python中绘制一个鼠年福鼠
Feb 03 Python
python 伯努利分布详解
Feb 25 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
May 14 Python
python自动计算图像数据集的RGB均值
Jun 18 Python
Python制作春联的示例代码
Jan 22 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 #Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 #Python
浅析Python __name__ 是什么
Jul 07 #Python
Pytorch上下采样函数--interpolate用法
Jul 07 #Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 #Python
pytorch加载自己的图像数据集实例
Jul 07 #Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 #Python
You might like
延长phpmyadmin登录时间的方法
2011/02/06 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
Web程序工作原理详解
2014/12/25 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
php微信公众号开发之简答题
2018/10/20 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
javascript 实现 秒杀,团购 倒计时展示的记录 分享
2013/07/12 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
jQuery实现立体式数字动态增加(animate方法)
2016/12/21 Javascript
JS拉起或下载app的实现代码
2017/02/22 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python数据处理实战(必看篇)
2017/06/11 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
捷克原创男装和女装购物网站:Bolf.cz
2018/04/28 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
有个性的自我评价范文
2013/11/15 职场文书
甜品店的创业计划书范文
2014/01/02 职场文书
我的大学生活职业生涯规划
2014/01/02 职场文书
毕业生自荐信格式
2014/03/07 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
2014年企业员工工作总结
2014/12/09 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
go语言中fallthrough的用法说明
2021/05/06 Golang