HttpURLConnection wysyła żądanie POST, nawet jeśli httpCon.setRequestMethod ("GET"); jest ustawione

Oto Mój kod:

String addr = "http://172.26.41.18:8080/domain/list";

URL url = new URL(addr);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setDoInput(true);
httpCon.setUseCaches(false);
httpCon.setAllowUserInteraction(false);
httpCon.setRequestMethod("GET");
httpCon.addRequestProperty("Authorization", "Basic YWRtaW4fYFgjkl5463");

httpCon.connect();

OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream());

System.out.println(httpCon.getResponseCode());
System.out.println(httpCon.getResponseMessage());

out.close();

Co widzę w odpowiedzi:

500 błąd serwera

Otwieram Moje httpCon var i to co widzę:

POST /rest/platform/domain/list HTTP / 1.1

Dlaczego jest ustawione na POST, mimo że użyłem httpCon.setRequestMethod("GET");, aby ustawić go na GET?

Author: BalusC, 2012-01-06

1 answers

httpCon.setDoOutput(true); domyślnie ustawia metodę żądania na POST, ponieważ jest to domyślna metoda, gdy chcesz wysłać treść żądania.

Jeśli chcesz użyć GET, usuń tę linię i usuń linię {[2] }. Nie musisz wysyłać ciała żądania, aby uzyskać żądania.

Dla prostego żądania GET należy wykonać następujące czynności:

String addr = "http://172.26.41.18:8080/domain/list";
URL url = new URL(addr);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setUseCaches(false);
httpCon.setAllowUserInteraction(false);
httpCon.addRequestProperty("Authorization", "Basic YWRtaW4fYFgjkl5463");
System.out.println(httpCon.getResponseCode());
System.out.println(httpCon.getResponseMessage());

Zobacz też:


Niezwiązane z konkretnym problemem, część hasła w nagłówku Authorization nie wydaje się być prawidłowo zakodowana Base64. Być może jest zakodowany, bo to był przykład, ale nawet gdyby nie to poprawiłbym Twoje podejście do kodowania Base64.

 55
Author: BalusC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:32:29