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基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
Dec 08 Python
Pycharm学习教程(3) 代码运行调试
May 03 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
基于DataFrame改变列类型的方法
Jul 25 Python
Django框架实现分页显示内容的方法详解
May 10 Python
解决Atom安装Hydrogen无法运行python3的问题
Aug 28 Python
pycharm运行scrapy过程图解
Nov 22 Python
Python中import导入不同目录的模块方法详解
Feb 18 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
python中entry用法讲解
Dec 04 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 Python
python实现简单的三子棋游戏
Apr 28 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
SONY SRF-M100的电路分析
2021/03/02 无线电
截获网站title标签之家内容的例子
2006/10/09 PHP
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
php2html php生成静态页函数
2008/12/08 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
webpack4简单入门实例
2018/09/06 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
Python import用法以及与from...import的区别
2015/05/28 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
JVM是一个编译程序还是解释程序
2012/09/11 面试题
我的未来不是梦演讲稿
2014/09/02 职场文书
党员作风建设整改方案
2014/10/27 职场文书
四年级小学生评语
2014/12/26 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
2015年女工委工作总结
2015/07/27 职场文书
react 路由Link配置详解
2021/11/11 Javascript
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers