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使用os模块和fileinput模块来操作文件目录
Jan 19 Python
python3实现ftp服务功能(服务端 For Linux)
Mar 24 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
numpy中loadtxt 的用法详解
Aug 03 Python
基于python实现KNN分类算法
Apr 23 Python
Python利用字典破解WIFI密码的方法
Feb 27 Python
python版DDOS攻击脚本
Jun 12 Python
python 判断三个数字中的最大值实例代码
Jul 24 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 24 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
VFP与其他应用程序的集成
2006/10/09 PHP
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
ie支持function.bind()方法实现代码
2012/12/27 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
python的dict,set,list,tuple应用详解
2014/07/24 Python
Python异常的检测和处理方法
2018/10/26 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
python urllib和urllib3知识点总结
2021/02/08 Python
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
大学生求职中的自我评价
2013/10/01 职场文书
大学三年的自我评价
2013/12/25 职场文书
社会保险接收函
2014/01/12 职场文书
汽车维修求职信
2014/06/15 职场文书
紧急通知
2015/04/17 职场文书
大学生社会实践感想
2015/08/11 职场文书
九年级化学教学反思
2016/02/22 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
一文简单了解MySQL前缀索引
2022/04/03 MySQL