Python使用指定端口进行http请求的例子


Posted in Python onJuly 25, 2019

使用requests库

class SourcePortAdapter(HTTPAdapter):
 """"Transport adapter" that allows us to set the source port."""

 def __init__(self, port, *args, **kwargs):
  self.poolmanager = None
  self._source_port = port
  super().__init__(*args, **kwargs)

 def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK, **pool_kwargs):
  self.poolmanager = PoolManager(
   num_pools=connections, maxsize=maxsize,
   block=block, source_address=('', self._source_port))

s = requests.Session()
s.mount('https://baidu.com', SourcePortAdapter(54321))
s.get('https://baidu.com')

我用wireshark测试发现是走的54321端口。

使用pycurl库

c = pycurl.Curl()
c.setopt(c.URL, 'https://curl.haxx.se/dev/')
c.setopt(c.LOCALPORT, 54321)
c.setopt(c.LOCALPORTRANGE, [52314,56321,5532])
c.perform()
c.close()

测试OK,可以直接在curl命令行中测试。

curl --local-port 12520 http://baidu.com

参考

https://stackoverflow.com/questions/47202790/python-requests-how-to-specify-port-for-outgoing-traffic?rq=1

以上这篇Python使用指定端口进行http请求的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python操作ssh实现服务器日志下载的方法
Jun 03 Python
shelve  用来持久化任意的Python对象实例代码
Oct 12 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python中音频处理库pydub的使用教程
Jun 07 Python
Python实现图片转字符画的示例代码
Aug 21 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
Python多项式回归的实现方法
Mar 11 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
Pandas中resample方法详解
Jul 02 Python
jupyternotebook 撤销删除的操作方式
Apr 17 Python
Python+Selenium自动化环境搭建与操作基础详解
Mar 13 Python
django多对多表的创建,级联删除及手动创建第三张表
Jul 25 #Python
django 中QuerySet特性功能详解
Jul 25 #Python
对Python _取log的几种方式小结
Jul 25 #Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 #Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 #Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 #Python
Python 3.8 新功能全解
Jul 25 #Python
You might like
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
js中eval详解
2012/03/30 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
angularJs关于指令的一些冷门属性详解
2016/10/24 Javascript
Vue.js教程之计算属性
2016/11/11 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
Python代理抓取并验证使用多线程实现
2013/05/03 Python
python3中int(整型)的使用教程
2017/03/23 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
如何提高python 中for循环的效率
2020/04/15 Python
django中嵌套的try-except实例
2020/05/21 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
数控专业毕业生求职信范文
2013/09/21 职场文书
公司前台辞职报告
2014/01/19 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
小时代观后感
2015/06/10 职场文书
redis数据一致性的实现示例
2022/03/18 Redis
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技