美文网首页
使用flask和requests实现http代理服务器

使用flask和requests实现http代理服务器

作者: wasw100 | 来源:发表于2016-03-06 22:21 被阅读0次

代码:

# -*- coding: utf-8 -*-
from contextlib import closing
import requests
from flask import Flask, request, Response

app = Flask(__name__)


@app.before_request
def before_request():
    url = request.url
    method = request.method
    data = request.data or request.form or None
    headers = dict()
    for name, value in request.headers:
        if not value or name == 'Cache-Control':
            continue
        headers[name] = value

    with closing(
        requests.request(method, url, headers=headers, data=data, stream=True)
    ) as r:
        resp_headers = []
        for name, value in r.headers.items():
            if name.lower() in ('content-length', 'connection',
                                'content-encoding'):
                continue
            resp_headers.append((name, value))
        return Response(r, status=r.status_code, headers=resp_headers)

app.run(port=8007, debug=True)

相关文章

网友评论

      本文标题:使用flask和requests实现http代理服务器

      本文链接:https://www.haomeiwen.com/subject/pepakttx.html