使用python做http代理请求

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

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

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

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

python 复制代码
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.response

if __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脚本。

执行命令,安装所需依赖

python 复制代码
 pip install Flask requests

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

python 复制代码
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电脑防火墙关掉。

相关推荐
微学AI几秒前
内网穿透的应用-Plex 打造随身私人影院,用cpolar告别地狱限制。
开发语言·php
进击的小头5 分钟前
第6篇:贝尔曼最优化理论
python·算法·动态规划
昨日余光22 分钟前
建议收藏!我开发了一个免费无限制的AI绘画公益站!
开发语言·前端·javascript·ai作画·typescript
ZHOUPUYU24 分钟前
我在PHP里学到的“套路”与“反套路” 设计模式与依赖注入
开发语言·php
马士兵教育29 分钟前
2026年IT行业基本预测!计算机专业学生就业编程语言Java/C/C++/Python该如何选择?
java·开发语言·c++·人工智能·python·面试·职场和发展
野犬寒鸦1 小时前
面试常问:HTTP 1.0 VS HTTP 2.0 VS HTTP 3.0 的核心区别及底层实现逻辑
服务器·开发语言·网络·后端·面试
geovindu1 小时前
python: Null Object Pattern
开发语言·python·设计模式
wefly20171 小时前
M3U8 播放调试天花板!m3u8live.cn纯网页无广告,音视频开发效率直接拉满
java·前端·javascript·python·音视频
敷衍一下X1 小时前
Selenium元素定位
python·selenium·测试工具
与虾牵手1 小时前
Redis 缓存穿透,我在线上被教做人的全过程(附 3 种方案 + 代码)
python