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时区设置方法与pytz查询时区教程
Nov 27 Python
python实现忽略大小写对字符串列表排序的方法
Sep 25 Python
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
简单总结Python中序列与字典的相同和不同之处
Jan 19 Python
深入理解python中的闭包和装饰器
Jun 12 Python
python之virtualenv的简单使用方法(必看篇)
Nov 25 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
Jan 20 Python
Python IDLE清空窗口的实例
Jun 25 Python
python 将list转成字符串,中间用符号分隔的方法
Oct 23 Python
简述python Scrapy框架
Aug 17 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 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
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
jquery中实现标签切换效果的代码
2011/03/01 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
Python文件处理
2016/02/29 Python
Python中super()函数简介及用法分享
2016/07/11 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
python爬取网易云音乐评论
2018/11/16 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
大学生专业个人学习的自我评价
2013/10/26 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
骨干教师考核方案
2014/05/09 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
element tree树形组件回显数据问题解决
2022/08/14 Javascript