<分区>
在 Java 中,我想从位于 http 代理后面的客户端计算机连接到 Web 上的 MySQL 服务器。我读过一些解决方案,有些人说 http 隧道可能有效,有些人建议使用非常旧的 link。来自不再可用的 oracle。所以问题是:
我们如何从位于 http 代理后面的计算机连接到 MySQL 服务器?
<分区>
在 Java 中,我想从位于 http 代理后面的客户端计算机连接到 Web 上的 MySQL 服务器。我读过一些解决方案,有些人说 http 隧道可能有效,有些人建议使用非常旧的 link。来自不再可用的 oracle。所以问题是:
我们如何从位于 http 代理后面的计算机连接到 MySQL 服务器?
最佳答案
您可以尝试下面的代码,看看是否有效。它通过 TCP 为我工作
package indika.jdbc.connectivity;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class ConnectOverProxy {
public static void main(String[] args) {
new ConnectOverProxy();
}
public ConnectOverProxy() {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = null;
Properties info = new Properties();
//info.put("proxy_type", "4"); // SSL Tunneling
info.put("proxy_host", "[proxy host]");
info.put("proxy_port", "[proxy port]");
info.put("proxy_user", "[proxy user]");
info.put("proxy_password", "[proxy password]");
info.put("user", "[db user]");
info.put("password", "[db pass word]");
conn = DriverManager.getConnection("jdbc:mysql://[db host]/",info);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select NOW()");
rs.next();
System.out.println("Data- " + rs.getString(1));
rs.close();
stmt.close();
conn.close();
} catch (SQLException er) {
er.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
另见“http://www.idssoftware.com/jdbchttps.html”,不过我个人没有用过。
关于java - 通过代理使用 JDBC 驱动程序连接到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20318702/