如何在java中传递代理

时间:2012-03-07 08:46:18

标签: java networking ntp proxies

我希望我的java代码能够从ntp服务器发送和接收响应。但是,由于我在代理人后面,我无法收到任何回复。我如何通过代理访问服务器响应?我正在使用以下代码,但它对我帮助不大。

    System.setProperty("http.proxySet", "true");
    System.setProperty("http.proxyHost", "107.108.85.10");
    System.setProperty("http.proxyPort", "80");

请帮忙。

    socket.send(packet);
    System.out.println("NTP request sent, waiting for response...\n");
    packet = new DatagramPacket(buf, buf.length);
    socket.receive(packet);
    System.out.println("Packet Received");

我能够看到发送的NTP请求,等待响应...,但不是收到的数据包响应..

2 个答案:

答案 0 :(得分:0)

  1. System.setProperty(“http.proxySet”,“true”)什么都不做。

  2. System.setProperty(“http.proxyHost”,“107.108.85.10”)和System.setProperty(“http.proxyPort”,“80”)完全符合您的要求,只要您使用HTTP URL 。如果您直接使用套接字,它们什么都不做。

  3. 如果您有HTTP代理,则暗示您正在使用HTTP协议,在这种情况下,您应该使用Java中提供的类来实现此目的。或者第三方API,例如Apache HttpClient,它有自己定义代理的方式。

  4. 如果您不使用HTTP,则HTTP代理对您没有多大用处。

答案 1 :(得分:0)

DatagramPacket表示UDP。 HTTP代理只能代理HTTP请求,所以你运气不好。尝试谷歌搜索'NTP over HTTP'。