使用 JSch 的 SSH 内部的 HTTPS 隧道
HTTPS tunnel inside SSH using JSch
我想使用 Java 库 JSch 通过 SSH 与 HTTPS 服务器通信。图书馆网站上的 Streamforwarding 示例易于使用,即使在 SO 上也是这样的代码 ()。
问题是当我想使用 HttpsURLConnection
class 通过 HTTPS 进行通信时。例如,为了发出 GET
请求,我尝试对来自 Channel
class(来自 JSch)的 InputStream
和来自 HttpsUrlConnection
的 InputStream
进行操作。
通过 SSH 连接将本地端口转发到远程 HTTP 服务器端口:
Session session = jsch.getSession("username", "ssh.example.com");
// ...
session.connect();
int forwardedPort = session.setPortForwardingL(0, "http.example.com", 80);
现在您可以将 HttpsUrlConnection
连接到 http.example.com
和端口 forwardedPort
。
我想使用 Java 库 JSch 通过 SSH 与 HTTPS 服务器通信。图书馆网站上的 Streamforwarding 示例易于使用,即使在 SO 上也是这样的代码 ()。
问题是当我想使用 HttpsURLConnection
class 通过 HTTPS 进行通信时。例如,为了发出 GET
请求,我尝试对来自 Channel
class(来自 JSch)的 InputStream
和来自 HttpsUrlConnection
的 InputStream
进行操作。
通过 SSH 连接将本地端口转发到远程 HTTP 服务器端口:
Session session = jsch.getSession("username", "ssh.example.com");
// ...
session.connect();
int forwardedPort = session.setPortForwardingL(0, "http.example.com", 80);
现在您可以将 HttpsUrlConnection
连接到 http.example.com
和端口 forwardedPort
。