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中__call__方法示例分析
Oct 11 Python
Python XML RPC服务器端和客户端实例
Nov 22 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
Jun 07 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 Python
Django代码性能优化与Pycharm Profile使用详解
Aug 26 Python
python爬虫 模拟登录人人网过程解析
Jul 31 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
CentOS 7如何实现定时执行python脚本
Jun 24 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
Python 转移文件至云对象存储的方法
Feb 07 Python
一行代码python实现文件共享服务器
Apr 22 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 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中static关键字原理的学习研究分析
2011/07/18 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
Vue多系统切换实现方案
2018/06/05 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
python基于win32api实现键盘输入
2020/12/09 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
德国黑胶唱片、街头服装及运动鞋网上商店:HHV
2018/08/24 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
个人委托书格式
2014/04/04 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技