Java HttpURLConnection вызывает исключение сброса соединения

Я начинаю сетевое программирование на Java, но всегда получаю исключение Connect Reset для следующего кода:

import java.io.*;
import java.net.*;
import java.util.*;

public class Net {

    public static void main() 
    {

        try
        {
            // this not working ...  URL url = new URL("http://localhost/test.php");

            // not even the following trial
            URL url = new URL("http://www.google.com.gh/");
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();


            // Exception is thrown here
            InputStream in = conn.getInputStream();
        }

        catch (Exception ex)
        {
            System.out.println(ex.getMessage());
        }
    }
}

Все примеры, которые я пробовал в процессе обучения, потерпели неудачу. Я не знаю, что не так. Помогите, пожалуйста.


person Daniel Oppong    schedule 24.11.2013    source источник
comment
Определен ли прокси-сервер, когда вы просто просматриваете на этом конкретном ПК? Если это так, вам, конечно, также необходимо определить прокси-сервер в своем коде. См. этот вопрос   -  person NickDK    schedule 24.11.2013
comment
без прокси NickDK. Это прямая связь.   -  person Daniel Oppong    schedule 24.11.2013
comment
У меня работает хорошо (с небольшой поправкой). может проблема с разрешениями?   -  person MeNa    schedule 24.11.2013
comment
возможно, но не могу предположить, что это может быть.   -  person Daniel Oppong    schedule 24.11.2013
comment
Ваш код отлично работает для меня. Действительно похоже на некоторую локальную проблему с подключением. Получаете ли вы тот же результат, используя любой общедоступный URL-адрес?   -  person Jonik    schedule 24.11.2013
comment
Да, приведенный выше код обращается к веб-сайту Google в качестве доступной попытки, но мой код выдает исключение с сообщением Connection Reset.   -  person Daniel Oppong    schedule 24.11.2013


Ответы (1)


Вы пытались установить дополнительную информацию?

  conn.setRequestMethod("POST");
  conn.setRequestProperty("Content-Type", 
       "application/x-www-form-urlencoded");

  conn.setRequestProperty("Content-Length", "" + 
           Integer.toString(urlParameters.getBytes().length));
  conn.setRequestProperty("Content-Language", "en-US");  

  conn.setUseCaches (false);
  conn.setDoInput(true);
  conn.setDoOutput(true);


 DataOutputStream wr = new DataOutputStream (
              connection.getOutputStream ());
  wr.writeBytes (urlParameters);
  wr.flush ();
  wr.close ();


 The urlParameters is a URL encoded string.

 String urlParameters =
    "fName=" + URLEncoder.encode("???", "UTF-8") +
    "&lName=" + URLEncoder.encode("???", "UTF-8")
person Simon    schedule 24.11.2013
comment
У меня были setDoInput, setDoOutput, setUseCaches в других примерах, но они не работали. Я включаю другие и вижу - person Daniel Oppong; 24.11.2013
comment
Все еще не работает даже с установленными параметрами запроса. Не знаю почему. - person Daniel Oppong; 24.11.2013
comment
Сначала вам нужно отправить запрос, я отредактировал свой ответ, это работает? - person Simon; 24.11.2013
comment
Ок теперь работает. Проблема была в моем антивирусе. Я думаю, что это блокировало соединение. Я остановил антивирусное программное обеспечение, и теперь оно работает. - person Daniel Oppong; 30.11.2013