【问题标题】:How to set up a proxy webserver to forward requests on pythonanywhere without a webframework如何在没有 Web 框架的情况下设置代理 Web 服务器以在 pythonanywhere 上转发请求
【发布时间】:2014-11-05 17:16:49
【问题描述】:

我编写了一个小型桌面应用程序(python 2.7,tkinter),它使用了一个我打算保持安全的 API 密钥 - 即不将其保存在源 python 文件中。推荐的方法是让应用程序向网络服务器发送请求(我将使用 pythonanywhere),添加 API 密钥(使用相关 URL),这会将 JSON 数据返回给应用程序(通过服务器当然)。 我想一个人可以在不使用 Django/Flask/etc 的情况下做到这一点,而且 BaseHTTP... 模块中的某些东西似乎会有所帮助。但是,我对网络编程完全陌生,所以有很多我不明白的地方。我需要帮助的一些事情是:

  1. 如果我将一些随机代码放入我的主站点文件夹(例如 /somefile.py),对http://www.example.com/ 的请求是否会自动运行 somefile.py?这似乎不太可能,我在哪里可以阅读?我的文件需要特殊名称吗?还是只是参考?给他们

  2. 我还需要一个实际的“可访问”页面吗?

总之,有人可以指出我在搜索中可能忽略了上述问题的必要步骤的文档,甚至是一些我可能忽略的可用解决方案吗?我已经看到 BaseHTTPserver 在本地运行的示例,但我不确定如何让一个在 pythonanywhere 类型的环境中在线工作。

例子:

http://www.acmesystems.it/python_httpserver

http://effbot.org/librarybook/simplehttpserver.htm

关于端口,这可能是相关的:Using PythonAnywhere as a game server

而且,我刚刚发现了这个:http://pythonpaste.org/do-it-yourself-framework.html


对于任何想要完整示例的人(如果以上内容不够清楚): 有人可能想要检查配置文件“配置文件”的数据。 我的应用程序将发送类似

的请求

http://mypage.pythonanywhere.com/https://euw.api.pvp.net/api/lol/euw/v1.3/stats/by-summoner/Profile/ranked?season=SEASON4&

(或者只是 http://mypage.pythonanywhere.com/stats-by-summoner/Profile/ranked?season=SEASON4 以及在修改后的 BaseHTTPrequesthandler 类中添加的其他内容),这将把它变成:

http://mypage.pythonanywhere.com/https://euw.api.pvp.net/api/lol/euw/v1.3/stats/by-summoner/Profile/ranked?season=SEASON4&api_key=my_api_key_here

【问题讨论】:

    标签: python web-frameworks pythonanywhere basehttprequesthandler


    【解决方案1】:

    PythonAnywhere 使用 WSGI 在您的代码和 Web 服务器之间进行通信。您可以直接编写 WSGI 应用程序,但框架使之更容易。 Flask 和 Bottle 很容易学习并且不会引入太多开销。他们也有很好的教程来帮助你入门。

    【讨论】:

    • 你对 Flask 的看法是对的——结果证明它就像两行路由代码。我知道我应该避免“谢谢”cmets,但这非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多