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 相关文章推荐
python2.7的编码问题与解决方法
Oct 04 Python
Python基础知识_浅谈用户交互
May 31 Python
Python之批量创建文件的实例讲解
May 10 Python
在CMD命令行中运行python脚本的方法
May 12 Python
python使用phoenixdb操作hbase的方法示例
Feb 28 Python
python字典嵌套字典的情况下找到某个key的value详解
Jul 10 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
在Python中用GDAL实现矢量对栅格的切割实例
Mar 11 Python
详解Python IO编程
Jul 24 Python
Python实现扫码工具的示例代码
Oct 09 Python
python基础之停用词过滤详解
Apr 21 Python
Python-typing: 类型标注与支持 Any类型详解
May 10 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写的MySQL数据库用户认证系统代码
2007/03/22 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
JavaScript获取select中text值的方法
2017/02/13 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
flask框架路由常用定义方式总结
2019/07/23 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
python实例化对象的具体方法
2020/06/17 Python
积极分子思想汇报
2014/01/04 职场文书
物流仓管员工作职责
2014/01/06 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
王老吉广告词
2014/03/20 职场文书
殡葬服务心得体会
2014/09/11 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
行政助理岗位职责
2015/02/10 职场文书
教师个人学习总结
2015/02/11 职场文书
晚会开场白和结束语
2015/05/29 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
JS实现数组去重的11种方法总结
2022/04/04 Javascript
实战Python爬虫爬取酷我音乐
2022/04/11 Python