带有选项的 python 和 ngrok 给了我一个错误

Posted

技术标签:

【中文标题】带有选项的 python 和 ngrok 给了我一个错误【英文标题】:python and ngrok with options gives me an error 【发布时间】:2020-01-31 22:47:21 【问题描述】:

我试图用options 运行ngrok 我试过了

from pyngrok import ngrok
ngrokPublicUrl = ngrok.connect(5000, bind_tls= True)

ngrokPublicUrl = ngrok.connect(remote_addr=5000, bind_tls= True)

对于选项,我在这里使用了文档 --> https://ngrok.com/docs#tunnel-definitions。我正在尝试获取 https 地址而不是 http。看起来options 用法不正确?

但我收到此错误

TypeError: connect() got an unexpected keyword argument 'remote_addr'

TypeError: connect() got an unexpected keyword argument 'bind_tls'

【问题讨论】:

来自 pyngrok 文档:“connect() 方法还可以采用 options 参数,它允许我们传递 ngrok 支持的其他选项。”所以像ngrok.connect(options='remote_addr': 5000, 'bind_tls': True) 我认为 Thx 我正在寻找已经尝试过的 python 用法 --> ngrok.connect('remote_addr':5000) 或 ngrok.connect('remote_addr'=5000) 问题是用法我该如何使用它使用 python 或语法 【参考方案1】:

更新

使用pyngrok>=5options 已解压缩为kwargs,这意味着提问者的原始语法现在可以正常工作,但还应注意此更新connect() 现在返回NgrokTunnel而不是像以前那样将public_url 改成str

原始答案(pyngrok<=4.1

我是pyngrok 的开发者。正确的 Python sn-p 已在上面的评论中给出,我也会在这里发布,以便将其标记为已回答。

您不能将此参数直接传递给connect(),就像您尝试做的那样,您需要将其作为options 字典传递给connect()(它将被解包到您文档中的隧道定义中)已链接——请参阅 API 文档 here)。

from pyngrok import ngrok

options = 
   "remote_addr": 5000,
   "bind_tls": True

ngrokPublicUrl = ngrok.connect(options=options)

也许options 会更直观地在connect() 中解压缩为kwargs?我会记下这一点,将其视为未来的改进,但现在您需要按照上述方式进行操作。

【讨论】:

以上是关于带有选项的 python 和 ngrok 给了我一个错误的主要内容,如果未能解决你的问题,请参考以下文章

GraphQL + Relay 现代片段给了我一系列空帖子

现实给了我一巴掌 既不道歉,也不说话 用最好的年华,换最深刻的教训

postgres给了我一组数字,例如“1,2,3,6,7,8,11,12,15,18,19,20” 获得每组连续数字的最大值

[原创] Win7全自动精简批处理_绝对原创,绝对给力_感谢无忧给了我一年的潜水

ngrok 无法正常工作以测试 HTTPS

ngrok 无法正常工作以测试 HTTPS