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群发邮件实例代码
Jan 03 Python
在Linux下调试Python代码的各种方法
Apr 17 Python
用Python抢过年的火车票附源码
Dec 07 Python
Python文件的读写和异常代码示例
Oct 31 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
使用Python来开发微信功能
Jun 13 Python
深入浅析Python中的迭代器
Jun 04 Python
Windows系统Python直接调用C++ DLL的方法
Aug 01 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
python3.7环境下安装Anaconda的教程图解
Sep 10 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 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
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
PHP实现删除字符串中任何字符的函数
2015/08/11 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
js中indexof的用法详细解析
2013/12/24 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python中字符串的处理技巧分享
2016/09/17 Python
Python操作csv文件实例详解
2017/07/31 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
对Python 内建函数和保留字详解
2018/10/15 Python
python web框架中实现原生分页
2019/09/08 Python
Python简单实现区域生长方式
2020/01/16 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
python如何爬取动态网站
2020/09/09 Python
意大利在线药房:Saninforma
2021/02/11 全球购物
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
2014全国两会大学生学习心得体会
2014/03/10 职场文书
优秀教师演讲稿
2014/05/06 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL