Я пытаюсь создать HTTP-запрос на публикацию, он также должен работать, но я не получаю ответа со страницы (с браузером он работает нормально). Код следующий:
try {
URL site = new URL("https://google.com");
HttpsURLConnection conn = (HttpsURLConnection) site.openConnection();
conn.setConnectTimeout(1000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Host", "www.example.com");
conn.setRequestProperty("User-Agent",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:65.0) Gecko/20100101 Firefox/65.0");
conn.setRequestProperty("Accept-Language", "en-EN,en;q=0.8,en-US;q=0.5,en;q=0.3");
conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
conn.setRequestProperty("Referer", "https://google.com");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Connection", "close");
conn.setRequestProperty("Upgrade-Insecure-Requests", "1");
conn.setInstanceFollowRedirects(true);
HttpsURLConnection.setFollowRedirects(true);
for (String string : this.Cookie) {
//my own working cookies conn.setRequestProperty("Cookie", string);
}
OutputStream os = conn.getOutputStream();
os.write(post_request.getBytes());
os.flush();
if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (IOException ex) {
System.out.println("Unable to reach the site: Because of: " + ex.getMessage());
}
Когда мой код отправляет запрос, если я пытаюсь получить код ответа или прочитать полученный HTML-код:
Unable to reach the site Because of: connect timed out
Я ожидаю, что код ответа и вывод HTML страницы также будут неправильными, если параметры публикации, но результат не является ожидаемым.
Если я удаляю попытку получить код ответа и попытку получить код ответа HTML с помощью BufferedReader, это не истекает, но почтовый запрос все равно не отправляется.