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使用chardet判断字符串编码的方法
Mar 13 Python
python实现实时监控文件的方法
Aug 26 Python
python numpy格式化打印的实例
May 14 Python
python调用百度REST API实现语音识别
Aug 30 Python
centos6.8安装python3.7无法import _ssl的解决方法
Sep 17 Python
Python实现的对一个数进行因式分解操作示例
Jun 27 Python
Python远程开发环境部署与调试过程图解
Dec 09 Python
Python调用.NET库的方法步骤
Dec 27 Python
python 元组的使用方法
Jun 09 Python
Python列表删除重复元素与图像相似度判断及删除实例代码
May 07 Python
Python制作动态字符画的源码
Aug 04 Python
python套接字socket通信
Apr 01 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中使用Oracle数据库(3)
2006/10/09 PHP
php函数之子字符串替换 str_replace
2011/03/23 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
php通过session防url攻击方法
2014/12/10 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
小程序实现留言板
2018/11/02 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
Python3 能振兴 Python的原因分析
2014/11/28 Python
Python中的localtime()方法使用详解
2015/05/22 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
python 显示数组全部元素的方法
2018/04/19 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
财务管理专业毕业生求职信范文
2013/09/21 职场文书
中专自我鉴定范文
2013/10/16 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
求职信标题怎么写
2014/05/26 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
放假通知范文
2015/04/14 职场文书