我正在创建一个 GroupMe bot,我正在测试回调 URL 和我到目前为止设置的基本 WSGI 应用程序。我正在计划在 Heroku 上托管 bot,但首先在我的本地机器上测试它。我注册了一个 bot,回调 URLhttp://MY_IP_ADDRESS:8000
。当我打开一个不同的 s 并在 Pytn 解释器中运行requests.post('http://MY_IP_ADDRESS:8000', data = 'something')
时,一切都没有发生,即使是我
这是我的(简化)代码:
from wsgiref.simple_server import make_serve
def app(environ, startResponse):
try:
requestBodySize = int(environ.get('CONTENT_LENGTH', 0))
except ValueError:
requestBodySize = 0
# requestBody = environ['wsgi.input'].read(requestBodySize)
print('something')
responseBody = bytes('successful', 'utf-8')
status = '200 OK'
responseHeaders = [('Content-Type', 'text/plain'), ('Content-Length', str(len(responseBody)))]
startResponse(status, responseHeaders)
return [responseBody]
server = make_server('', 8000, app)
server.serve_forever()
我确信我正在做一些显而易见的事情,但我不能为我的生活弄清楚什么。
我从来没有弄清楚为什么回调 URL 不与 localst 一起工作,但是当我在 Heroku 上部署应用程序时,一切正常!它一定与我的防火墙设置有关。
当你在你的本地机器上运行服务器时,你的防火墙并不喜欢这样。GroupMe 也不能发送到任何东西,除了面向公众的收件人,这就是 Heroku 工作的原因。我将来可以推荐的一件事是使用 Ngrok,https://ngrok.com/这将与你的服务器一起在你的机器上创建一个面向公众的地址,你可以将其用作回调 URL。我使用 Ngrok 来测试我的
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(38条)