1

我正在尝试ngrok运行options

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'
4

1 回答 1

0

更新

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

原始答案(对于pyngrok<=4.1

我是pyngrok. 上面的评论中给出了正确的 Python 代码段,我也会在这里发布它,以便将其标记为已回答。

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

from pyngrok import ngrok

options = {
   "remote_addr": 5000,
   "bind_tls": True
}
ngrokPublicUrl = ngrok.connect(options=options)

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

于 2019-10-15T21:16:11.123 回答