python
from flask import Flask, request, Response
import requests
app = Flask(__name__)
proxy_url = 'https://www.example.com' # The URL of the proxy server
@app.route('/')
def home():
url = request.args.get('url') # Get the URL to proxy
if not url:
return 'Please provide a URL to proxy', 400
full_url = f'{proxy_url}/{url}'
headers = dict(request.headers)
try:
response = requests.get(full_url, headers=headers, stream=True)
return Response(response.iter_content(chunk_size=1024), content_type=response.headers['content-type'])
except requests.RequestException as e:
return str(e), 500
if __name__ == '__main__':
app.run(debug=True)
在此代码中,我们使用Flask框架创建了一个简单的HTTP代理服务器。当接收到HTTP请求时,我们会提取查询字符串中的目标URL,并使用`requests`库向目标URL发起GET请求。然后将目标服务器的响应内容流式传输回代理服务器的响应中。最后,返回给客户端原始响应内容。
请注意,此代码仅用于演示目的。在生产环境中使用时,应考虑安全性和性能等方面的问题。
查看详情
查看详情