当前位置: 首页 > news >正文

使用python做http代理请求

有这样一个需求现在有两台A,B两台电脑组成了一个局域网,在A电脑上开发webjava应用,需要调用第三方接口做http请求,但是这个请求只能在B电脑上请求。

一种解决方案:自定义一个中间服务,在电脑B上运行一个简单的HTTP服务,接收电脑A的请求并代为转发。

一、编写代理服务器py脚本。

使用Python Flask快速实现代码如下 文件命名为proxy.py

from flask import Flask, request
import requests
app = Flask(__name__)# 添加根路由用于测试服务是否启动
@app.route('/')
def index():return "Flask 代理服务已启动!"@app.route('/forward/<path:path>', methods=['GET','POST'])
def forward_request(path):url = f'http://第三方接口服务器ip:8080/{path}'result = requests.request(method=request.method,url=url,headers={key: value for (key, value) in request.headers if key != 'Host'},data=request.get_data(),cookies=request.cookies,allow_redirects=False)print(f"Response: {result.response}")return result.responseif __name__ == '__main__':app.run(host='0.0.0.0', port=8080, debug=True)

若B电脑ip为http://192.168.28.45:8080/,则在A电脑调用第三方接口地址为
http://192.168.28.45:8080/forward/具体接口地址。

二、安装python环境

打开微软store,搜索python,选一个版本安装。这种直接安装,不需要手动配置环境变量,pip工具也不用单独安装。(如果已经安装过python和pip工具,略过)
在这里插入图片描述
打开cmd,执行python --version,可以看到安装成功
在这里插入图片描述

三、运行py脚本。

执行命令,安装所需依赖

 pip install Flask requests

在这里插入图片描述

复制proxy.py文件所在位置,然后执行

python C:\Users\yws1\Desktop\proxy.py

在这里插入图片描述

浏览器打开 http://192.168.28.45:8080/(自己电脑ip地址,不知道的ipconfig查一下)或者http://localhost:8080/ 或http://127.0.0.1:8080/
在这里插入图片描述
能打开,说明HTTP服务已经成功配置好,
用A电脑访问[http://B电脑ip:8080],如果打不开,就把B电脑防火墙关掉。

http://www.lryc.cn/news/543968.html

相关文章:

  • 数据库事务的基本要素(ACID)
  • DeepSeek R1满血+火山引擎详细教程
  • 大型语言模型技术对比:阿里Qwen qwq、DeepSeek R1、OpenAI o3与Grok 3
  • ArcGIS Pro可见性分析:精通地形视线与视域分析
  • 计算机工具基础(五)——Vim
  • Android应用app实现AI电话机器人接打电话
  • Mobaxterm服务器常用命令(持续更新)
  • Android14窗口管理自适应投屏分辨率
  • Shot Studio for macOS 发布 1.0.2
  • 《深度学习实战》第4集:Transformer 架构与自然语言处理(NLP)
  • Starrocks入门(二)
  • 银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法
  • html css js网页制作成品——HTML+CSS甜品店网页设计(5页)附源码
  • Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)
  • 【Python 入门基础】—— 人工智能“超级引擎”,AI界的“瑞士军刀”,
  • 蓝桥杯练习代码
  • Imagination通过最新的D系列GPU IP将效率提升至新高度
  • C高级——shell(3)
  • 【C语言】第八期——指针、二维数组与字符串
  • docker 运行claude 的computer use
  • JAVA面试_进阶部分_23种设计模式总结
  • 边缘计算收益低的三大指标
  • Linux网络之传输层协议(UDP,TCP协议)
  • 傅里叶分析
  • 【前端基础】Day 3 CSS-2
  • NAT 技术:网络中的 “地址魔术师”
  • Ollama下载安装+本地部署DeepSeek+UI可视化+搭建个人知识库——详解!(Windows版本)
  • 【JavaSE-1】初识Java
  • 《基于Django和ElasticSearch的学术论文搜索推荐系统的设计与实现》开题报告
  • Dify在Ubuntu20.04系统的部署