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?
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.
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