как пройти через прокси в Java - PullRequest
0 голосов
/ 07 марта 2012

Я хочу, чтобы мой код 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 голосов
/ 07 марта 2012

DatagramPacket означает UDP.Прокси-серверы HTTP могут только прокси-запросы HTTP, так что вам не повезло.Попробуйте прибегнуть к помощи NTP через HTTP.

0 голосов
/ 07 марта 2012
  1. System.setProperty ("http.proxySet", "true") ничего не делает.

  2. System.setProperty ("http.proxyHost", "107.108.85.10") и System.setProperty ("http.proxyPort", "80") делают именно то, что вы хотите, если вы используете URL-адреса HTTP , Они ничего не делают, если вы используете Sockets напрямую.

  3. Если у вас есть HTTP-прокси, это означает, что вы используете протокол HTTP, и в этом случае вам следует использовать классы, предоставленные в Java для этой цели. Или сторонние API, такие как Apache HttpClient, который имеет собственный способ определения прокси.

  4. Если вы не используете HTTP, прокси-сервер HTTP вам вряд ли пригодится.

...