使用JDBC驱动程序通过代理连接到MySQL

在Java中,我想从位于http代理后面的客户端计算机连接到Web服务器上的MySQL服务器。 我已经阅读了一些解决方案,有人说http隧道可能有效,有些人建议使用来自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 ”,但我个人并没有使用过。