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基于windows平台锁定键盘输入的方法
Mar 05 Python
如何将python中的List转化成dictionary
Aug 15 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
Python自动化运维之Ansible定义主机与组规则操作详解
Jun 13 Python
python3中替换python2中cmp函数的实现
Aug 20 Python
python 实现矩阵填充0的例子
Nov 29 Python
python对Excel的读取的示例代码
Feb 14 Python
keras的三种模型实现与区别说明
Jul 03 Python
Python二元算术运算常用方法解析
Sep 15 Python
python 基于opencv实现高斯平滑
Dec 18 Python
python绘制雷达图实例讲解
Jan 03 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各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
php计算title标题相似比的方法
2015/07/29 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
深入理解JavaScript函数参数(推荐)
2016/07/26 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
python实现12306火车票查询器
2017/04/20 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
python将unicode和str互相转化的实现
2020/05/11 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
酒店办公室文员岗位职责
2013/12/18 职场文书
员工培训邀请函
2014/01/11 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
董存瑞观后感
2015/06/11 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
Go语言基础知识点介绍
2021/07/04 Golang