在 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)。
,则接受的答案 将 起作用
我在这一行遇到错误:
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)。