簡體   English   中英

URLConnection錯誤 - java.io.IOException:服務器返回HTTP響應代碼:URL為400

[英]URLConnection Error - java.io.IOException: Server returned HTTP response code: 400 for URL

我試圖從桌面應用程序連接到一個URL,我得到我的問題的標題中指示的錯誤,但當我嘗試從servlet連接到相同的URL時,一切正常。 當我從瀏覽器加載URL時,一切正常。 我在servlet中使用相同的代碼。 代碼在庫中,當它不起作用時,我將代碼拉出到當前項目中的一個類,但它沒有用。

網址https://graph.facebook.com/me

代碼片段。

public static String post(String urlSpec, String data) throws Exception {
    URL url = new URL(urlSpec);
    URLConnection connection = url.openConnection();
    connection.setDoOutput(true);
    OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
    writer.write(data);
    writer.flush();

    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String line = "";
    StringBuilder builder = new StringBuilder();
    while((line = reader.readLine()) != null) {
        builder.append(line);
    }
    return builder.toString();
}   

我在這里有點困惑,是否存在一些不是普通桌面應用程序的servlet?

謝謝。

完全堆積的痕跡

Feb 8, 2011 9:54:14 AM com.trinisoftinc.jiraffe.objects.FacebookAlbum create
SEVERE: null
java.io.IOException: Server returned HTTP response code: 400 for URL: https://graph.facebook.com/me
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
        at com.jiraffe.helpers.Util.post(Util.java:49)
        at com.trinisoftinc.jiraffe.objects.FacebookAlbum.create(FacebookAlbum.java:211)
        at com.trinisoftinc.jiraffe.objects.FacebookAlbum.main(FacebookAlbum.java:261)

編輯:您需要找到Facebook在響應中發送的確切錯誤消息您可以修改您的代碼以從錯誤流中獲取消息,如下所示:

HttpURLConnection httpConn = (HttpURLConnection)connection;
InputStream is;
if (httpConn.getResponseCode() >= 400) {
    is = httpConn.getErrorStream();
} else {
    is = httpConn.getInputStream();
}

看看你如何傳遞用戶上下文這里有一些可以幫助你的信息:

查看400響應代碼背后的錯誤消息:

“Facebook平台”“invalid_request” “必須使用活動訪問令牌來查詢有關當前用戶的信息*

你會在這里找到解決方案

HTTP/1.1 400 Bad Request
...
WWW-Authenticate: OAuth "Facebook Platform" "invalid_request" "An active access token must be used to query information about the current user."
...

我終於找到了問題。 當然這是我的代碼。 我沒有發布的代碼的一部分是數據的價值。 數據必須只包含名稱和描述,但我傳遞的不僅僅是名稱和描述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM