当前位置: 首页 > 知识库问答 >
问题:

服务器为URL返回了HTTP响应代码:400:

伏默
2023-03-14

我得到这个错误:
java。木卫一。IOException:服务器为URL返回了HTTP响应代码400:https://graph.facebook.com/search?q=java

对于这个代码:

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();
        }
    }
}

我不明白为什么?

共有1个答案

仲孙阳
2023-03-14

在浏览器中尝试该URL时,我得到响应:

{
   "error": {
      "message": "An access token is required to request this resource.",
      "type": "OAuthException",
      "code": 104,
      "fbtrace_id": "Du6VLoot53K"
   }
}

它还有一个400的响应代码,这似乎很清楚您为什么会得到它:
需要一个访问令牌。

我在您的代码中没有看到试图提供这种访问令牌的内容。

 类似资料:
  • 这个错误的原因是什么?当我直接从浏览器调用URL时,它的工作非常完美。

  • 我正在做一个GET请求,这段代码适用于我们所有现有的测试,对于一个新endpoint,它给出了400个错误。我可以在《邮差》中很好地达到终点。conn.getErrorStream()不打印任何内容。代码似乎在url.openConnection处失败(没有引发异常)。如果我在那行之后执行conn.getResponseCode(),它返回400。我想可能它不喜欢查询中的管道字符,而是通过URLE

  • 我可以访问网站kissmanga.com但我不能通过程序访问它。我修正了错误403,我之前得到的,但现在我得到错误503。 好的,这段代码可以解决一个小问题。我没有得到完整的html,但只有2/3。

  • 我正在开发一个线程java应用程序,它通过点击url发送sms消息 问题是我在NTLM代理服务器后面,我搜索了一天的大部分时间,尝试了许多解决方案,但没有成功。应用程序给出了标题错误,当我试图打印错误响应时,我发现错误页面来自代理服务器 这是击打密码 我得到了喘息的机会 任何帮助都很感激谢谢

  • 问题内容: 我想从URL打开一个链接:“ http://www.kohls.com/search.jsp?search=jacket&submit- search=web-regular ”,有时我得到: java.io.IOException:服务器返回URL的HTTP响应代码:403。但是使用浏览器打开网址是可以的。以下是我的代码的一部分: 错误详情 线程“主”中的异常java.io.IOEx

  • 我想打开一个链接从网址:"http://www.kohls.com/search.jsp?search=jacket Java语言io。IOException:服务器返回URL的HTTP响应代码:403。但使用浏览器打开url也没关系。以下是我代码的一部分: 错误详细信息 线程“main”java中出现异常。io。IOException:服务器返回了URL的HTTP响应代码403:http://w