首页 > 解决方案 > 通过 pythonanywhere 代理路由 Flask 应用程序 API GET 请求

问题描述

我已经被困了几天,现在试图在 pythonanywhere.com 上托管一个小型足球比赛网站,作为使用 FLASK 的第一个个人项目

我似乎遇到的问题是我需要通过 pythonanywhere 代理(proxy.server:3128)路由 API 调用,但我不知道如何配置它(我是初学者 tbh)

任何帮助我指出正确的方向将不胜感激

下面的一些示例代码作为我尝试发出的请求的示例(这些在本地托管时工作正常,但 pythonanywhere 需要代理路由来处理 http 请求)

from flask import Flask, request
import http.client

connection = http.client.HTTPConnection('api.football-data.org')

def getCompetitions():
    print ("running getCompetitions")
    connection.request('GET', '/v2/competitions/', None, headers )
    response = json.loads(connection.getresponse().read().decode())
    return response

competitions = getCompetitions()

标签: flaskproxypythonanywhere

解决方案


找到了!其实还不错,只是我是菜鸟!

我需要使用与 python 的 http.client 函数相关的 .set_tunnel 函数来通过代理文档进行路由:https ://docs.python.org/3/library/http.client.html

此示例的用法:

connection = http.client.HTTPSConnection("proxy.server", 3128)
connection.set_tunnel("api.football-data.org")

希望这可以帮助某人!


推荐阅读