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的Django框架来制作一个RSS阅读器
Jul 22 Python
python如果快速判断数字奇数偶数
Nov 13 Python
利用python实现AR教程
Nov 20 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
python pprint模块中print()和pprint()两者的区别
Feb 10 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
python相对企业语言优势在哪
Jun 12 Python
Python 实现简单的客户端认证
Jul 29 Python
如何基于Python实现word文档重新排版
Sep 29 Python
解决Pymongo insert时会自动添加_id的问题
Dec 05 Python
python如何实现递归转非递归
Feb 25 Python
python如何查找列表中元素的位置
May 30 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
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
php中namespace use用法实例分析
2016/01/22 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
javascript 当前日期转化为中文的实现代码
2010/05/13 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
详解JavaScript调用栈、尾递归和手动优化
2017/06/03 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
2018/03/06 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
python如何进入交互模式
2020/07/06 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
打架检讨书100字
2014/01/19 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js