在Java中,我想从位于http代理后面的客户端计算机连接到Web服务器上的MySQL服务器。我已经阅读了一些解决方案,有人说http隧道可能有效,有些人建议使用oracle中的一个非常古老的link,它不再可用。所以问题是:
我们如何从位于http代理后面的计算机连接到MySQL服务器?
答案 0 :(得分:0)
您可以尝试以下代码,看看它是否有效。它通过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”,但我个人并未使用过。