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实现一个简单的多线程TCP服务器的教程
May 05 Python
python字符类型的一些方法小结
May 16 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
python生成每日报表数据(Excel)并邮件发送的实例
Feb 03 Python
python实现AES加密解密
Mar 28 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
Python tkinter常用操作代码实例
Jan 03 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
Jan 16 Python
Selenium及python实现滚动操作多种方法
Jul 21 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 Python
django inspectdb 操作已有数据库数据的使用步骤
Feb 07 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
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
2020/02/09 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
Python random模块用法解析及简单示例
2017/12/18 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
千元咖啡店的创业计划书范文
2013/12/29 职场文书
学徒工职责
2014/03/06 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
应届毕业生自荐信
2014/05/28 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
大学生毕业个人总结
2015/02/15 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
金陵十三钗观后感
2015/06/04 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
MySQL创建管理LIST分区
2022/04/13 MySQL
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB