SocketAddress proxy = new InetSocketAddress("127.0.0.1", 8080);
URL url = new URL("http://192.168.1.1/");
HttpURLConnection connection = (HttpURLConnection) url.openConnection(new Proxy(Proxy.Type.HTTP, proxy));
connection.setDoOutput(true);
String body = "This is a body example";
OutputStreamWriter writer = new OutputStreamWriter(new BufferedOutputStream(connection.getOutputStream()), "8859_1");
writer.write(body);
writer.flush();
writer.close();
connection.connect();
Проблема в том, что при запуске этого кода никакие запросы не «улавливаются» моим прокси (он хорошо настроен). Я знаю, что connect() является абстрактным методом в URLConnection, но при условии, что HttpURLConnection расширяет URLConnection, он должен переопределить его. Это то, что javadoc говорит о connect(): «Открывает ссылку на связь с ресурсом, на который ссылается этот URL-адрес, если такое соединение еще не установлено». Поэтому запрос должен быть отправлен. Кто-нибудь знает, что вызывает проблему?Метод подключения HttpURLConnection не удается подключить
ПРИМЕЧАНИЕ. Если я заменю connection.connect() с connection.getResponseHeader(), я улавлю запрос. Поскольку я прочитал в javadoc, если соединение еще не установлено, вызов getResponseHeader() вызовет неявно метод connect().
Пробовал это? http://stackoverflow.com/a/32897878/584420 –
@JamesJithin Proxy не является моей проблемой, потому что в сообщении говорится: «Если я заменил connection.connect() с connection.getResponseHeader(), соединение установит и запрос будет улавливаться» – JAAAY