我想使用Java库JSch通过SSH与HTTPS服务器通信。图书馆网站上的Streamforwarding示例易于使用,即使在这样的代码中也是如此(Java JSch create channel to access remote server via HTTP(s))。
问题是当我想使用HttpsURLConnection
类通过HTTPS进行通信时。例如,发出GET
请求,我尝试对InputStream
类(来自JSch)的Channel
和InputStream
中的HttpsUrlConnection
进行操作。
答案 0 :(得分:0)
通过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
。