【发布时间】:2016-08-03 14:30:35
【问题描述】:
我收到此错误:
java.io.IOException:服务器返回 HTTP 响应代码:400 用于 URL:https://graph.facebook.com/search?q=java&type=post
在 sun.net.www.protocol.http.HttpURLConnection.getInputStream(未知来源)
在 sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(未知来源)
在 java.net.URL.openStream(未知来源)
在 Main.main(Main.java:19)
对于此代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Scanner;
import org.json.JSONObject;
import javax.json.*;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://graph.facebook.com/search?q=java&type=post");
InputStream is = url.openStream();
JsonReader rdr = Json.createReader(is);
JsonObject obj = rdr.readObject();
JsonArray results = obj.getJsonArray("data");
for (JsonObject result : results.getValuesAs(JsonObject.class)) {
System.out.print(result.getJsonObject("from").getString("name"));
System.out.print(": ");
System.out.println(result.getString("message", ""));
System.out.println("-----------");
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我不明白为什么?
【问题讨论】:
-
HTTP 400 表示:由于语法错误,服务器无法理解请求。客户端不应该在没有修改的情况下重复请求。