java - 使用 JSch 的 SSH 内部的 HTTPS 隧道

标签 java http ssh https jsch

我想使用 Java 库 JSch 通过 SSH 与 HTTPS 服务器通信。图书馆网站上的 Streamforwarding 示例易于使用,即使在 SO 上也有代码(Java JSch create channel to access remote server via HTTP(s))。

问题是当我想使用 HttpsURLConnection 类通过 HTTPS 进行通信时。例如,为了发出 GET 请求,我尝试对来自 Channel 类(来自 JSch)的 InputStream 和来自 InputStream 进行操作HttpsUrlConnection

最佳答案

通过 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 隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54993496/

相关文章:

java - android - 如何排序 List<Map<String, String>>

java - 计算2次之间的差异时补偿BST

bash - 从终端输出中删除发送命令,同时保留所需的输出

java - ssh -X(X11 转发)java swing 应用程序有缓慢的下拉列表

JavaFX 8 在 Outlook 中创建新邮件

java - 如何在 Android Studio 1.0.2 中将库添加到项目中?

Java URLDecoder,在 Linux 服务器 A 上出现异常,在 Linux 服务器 B 上运行良好

json - 发布字符串请求 Volley ?

java - 当请求数据正确而响应数据不正确时,哪种http状态码适合

gitlab-shell -> git push -u origin master -> fatal : The remote end hung up unexpectedly