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程序代码片段
Jun 02 Python
python压缩文件夹内所有文件为zip文件的方法
Jun 20 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
python的继承知识点总结
Dec 10 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
Jun 05 Python
Python实现最大子序和的方法示例
Jul 05 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
Pytorch中的variable, tensor与numpy相互转化的方法
Oct 10 Python
python实现飞机大战小游戏
Nov 08 Python
python烟花效果的代码实例
Feb 25 Python
pycharm 如何取消连按两下shift出现的全局搜索
Jan 15 Python
python 判断文件或文件夹是否存在
Mar 18 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模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
查看django版本的方法分享
2018/05/14 Python
python清除函数占用的内存方法
2018/06/25 Python
Python多继承原理与用法示例
2018/08/23 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
python 实现目录复制的三种小结
2019/12/04 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
"引用"与指针的区别是什么
2016/09/07 面试题
英文自我鉴定
2013/12/10 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
房屋出售协议书
2014/04/10 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
奶茶店创业计划书
2014/08/14 职场文书
矛盾论读书笔记
2015/06/29 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python