在 Python .replace 方法的 pyngrok 错误中

In Python pyngrok error for .replace method

我在这一行遇到错误:

link = ngrok.connect(4040,"http").replace("http","https")

错误:

Instance of 'NgrokTunnel' has no 'replace' member

我已经测试过了。

你的link不是字符串。您必须将其转换为字符串才能替换文本。

这适用于函数 str()。

link = str(ngrok.connect()).replace("http", "https")

接受的答案不太正确,因为当您想要的字符串只是 https://<public_sub>.ngrok.io 部分时,您最终得到的字符串是 [<NgrokTunnel: "https://<public_sub>.ngrok.io" -> "http://localhost:80">]

NgrokTunnel object有一个public_url属性,这就是你想要的,所以这样做:

link = ngrok.connect(4040, "http").public_url.replace("http","https")

此外,如果你甚至不需要打开 http 端口,这只会给你 https link 只打开一个隧道,不需要操作字符串:

link = ngrok.connect(4040, bind_tls=True).public_url

值得注意的是,如果您使用的是 older version of pyngrok (pre-5.0.0 release)

,则接受的答案 起作用