1

我编写了一个小型桌面应用程序(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

4

1 回答 1

4

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

于 2014-11-05T18:15:05.073 回答