PUT HTTP-Request mit Parametern senden

01/18/2018 21:47 kek#1
Hi, bin jetzt seit ein paar Stunden dran und finde einfach keine Lösung.
Wenn ich den Request mit [Only registered and activated users can see links. Click Here To Register...] versende und die Parameter dort eingebe, funktioniert es. Die Parameter von hurl.it sehen dann im Body so aus:

text=i5u32n45jsa&titel=testwes3472

Genau das gleiche was durch die Parameter konstruiert wird. Ich bekomme auch eine Antwort, allerdings ist es so als wären die Parameter nicht vorhanden und die Werte(REST-API) werden nicht geupgradet. Habe schon extrem viel probiert und alle möglichen Vorgaben durchprobiert aber ich habe immer dasselbe Problem.

€:
nvm, habe nicht gewusst, dass PUT nur über die URL Parameter aktezeptiert.

Lösung:
Code:
 public static String sendPutRequest(String url, String[][] parameter) throws IOException {
		String urlParameters = parameter[0][0] + "=" + parameter[0][1];
		for (int i = 1; i < parameter.length; i++) {
			urlParameters += "&" + parameter[i][0] + "=" + parameter[i][1];
		}
		URL urlLink = new URL(url + "?" + urlParameters);
 		HttpURLConnection httpCon = (HttpURLConnection)urlLink.openConnection();
 		httpCon.setDoOutput(false);
 		httpCon.setRequestMethod("PUT");
 		httpCon.connect();
		BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();
		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}
		in.close();
		httpCon.disconnect();
		return response.toString();
}
01/19/2018 12:03 Serraniel#2
Quote:
Originally Posted by Dildo Shwaggins View Post
nvm, habe nicht gewusst, dass PUT nur über die URL Parameter aktezeptiert.

Lösung:
Code:
 public static String sendPutRequest(String url, String[][] parameter) throws IOException {
		String urlParameters = parameter[0][0] + "=" + parameter[0][1];
		for (int i = 1; i < parameter.length; i++) {
			urlParameters += "&" + parameter[i][0] + "=" + parameter[i][1];
		}
		URL urlLink = new URL(url + "?" + urlParameters);
 		HttpURLConnection httpCon = (HttpURLConnection)urlLink.openConnection();
 		httpCon.setDoOutput(false);
 		httpCon.setRequestMethod("PUT");
 		httpCon.connect();
		BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();
		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}
		in.close();
		httpCon.disconnect();
		return response.toString();
}
#Closed (on Request)