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文件操作类操作实例详解
Jul 11 Python
django接入新浪微博OAuth的方法
Jun 29 Python
Python的条件语句与运算符优先级详解
Oct 13 Python
深入解读Python解析XML的几种方式
Feb 16 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
May 19 Python
Falsk 与 Django 过滤器的使用与区别详解
Jun 04 Python
详解python列表(list)的使用技巧及高级操作
Aug 15 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
Mar 02 Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 Python
python如何控制进程或者线程的个数
Oct 16 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
咖啡的化学
2021/03/03 咖啡文化
php中explode与split的区别介绍
2012/10/03 PHP
解析php类的注册与自动加载
2013/07/05 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
在Vue中使用echarts的方法
2018/02/05 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
Python continue语句用法实例
2014/03/11 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
检讨书格式
2019/04/25 职场文书
Redis入门基础常用操作命令整理
2022/06/01 Redis