POST Request JavaPOST-Anforderung JSON-Parser Java
Ich habe diesen Beitrag lesen, wie eine POST-Anforderung in Java zu tun. Ich verstehe nicht, wie ich das in einem JSON-Parser implementieren kann. Dies ist, was ich versuchte, so weit:
public class JSONParser {
private String read(BufferedReader bufferedReader) throws IOException {
//Creates new StringBuilder to avoid escaping chars
StringBuilder stringBuilder = new StringBuilder();
//Gets the currentLine
String currentLine;
while((currentLine = bufferedReader.readLine()) !=null){
//Adds the currentLine to the stringBuild if the currentLine is not null
stringBuilder.append(currentLine);
}
//Returns the StringBuilder is String format
return stringBuilder.toString();
}
public JSONObject readJsonFromUrl(String JSONurl) throws IOException, JSONException {
InputStream url = new URL(JSONurl).openStream();
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url));
String jsonText = read(bufferedReader);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
url.close();
}
}
public void printJSON() throws IOException, JSONException {
JSONObject json = readJsonFromUrl("http://grwn.ddns.net:1337/locations");
System.out.print(json);
//for (Integer i = 0; i < json.getJSONArray("damage_or_theft_car").length(); i++) {
// System.out.println(json.getJSONArray("damage_or_theft_car")
//.getJSONObject(i).get("hood_id"));
//}
}
}
Wenn ich diesen Code ausführen mit einem Link, der nicht eine POST-Anforderung erfordert es funktioniert gut, aber wenn ich diesen Code ausführen auf einem Link, der eine POST-Anfrage benötigt Ich erhalte den folgenden Fehler:
Exception in thread "main" java.io.FileNotFoundException: http://grwn.ddns.net:1337/locations
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1872)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at java.net.URL.openStream(URL.java:1045)
at com.company.JSONParser.readJsonFromUrl(JSONParser.java:30)
at com.company.JSONParser.printJSON(JSONParser.java:42)
at com.company.Main.main(Main.java:33)
Könnte mir jemand helfen oder mir in die richtige Richtung zeigen?
Der Grund, warum Sie FileNotFoundE erhalten, liegt wahrscheinlich daran, dass der Antwortcode 404 lautet. Haben Sie eine andere Postanforderung ausprobiert, die nicht zu einer 404-Antwort führt? – semywow
@semywow Es wird keine POST-Anfrage gesendet, da ich nicht weiß, wie –