java - 在 Java 中执行 get 请求会导致 HTTP 响应代码 : 415

标签 java http

我正在尝试使用以下代码从网络服务中检索信息:

String kenteken = request.getParameter("InputKenteken");
        String uri = String.format("https://api.datamarket.azure.com/Data.ashx/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT('%s')", kenteken);

        URL url = new URL(uri);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();

        connection.setRequestProperty("Content-Type","text/html");
        connection.setRequestMethod("GET");
        InputStream xml = connection.getInputStream();
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = null;
         try {
             db = dbf.newDocumentBuilder();
         } catch (ParserConfigurationException ex) {
             Logger.getLogger(CarServlet.class.getName()).log(Level.SEVERE, null, ex);
         }
         try {
             Document doc = db.parse(xml);
         } catch (SAXException ex) {
             Logger.getLogger(CarServlet.class.getName()).log(Level.SEVERE, null, ex);
         }
      }

当我从代码调用 URL 时,我不断收到 415 响应代码,而 URL 在 chrome 中工作正常。

enter image description here

这是我使用的网址:

https://api.datamarket.azure.com/Data.ashx/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT('jnzd27')

最佳答案

415 response code表示不支持请求的媒体类型。如果您查看 chrome 的响应 header ,您可以看到返回的内容类型是:

  Content-Type:application/atom+xml;type=entry;charset=utf-8

似乎接受这个确切的内容类型可以解决问题。因此,而不是:

connection.setRequestProperty("Content-Type","text/html");

使用:

connection.setRequestProperty("Accept","application/atom+xml");

关于java - 在 Java 中执行 get 请求会导致 HTTP 响应代码 : 415,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30392351/

相关文章:

java - 如何处理 httpclient 4.3+ 中的超时?

javascript - 从 Fetch 中捕获 200 OK 以外的响应

java - Akka Actor 和消息限制

java - 如何断言是否从下拉列表中选择了所选选项。 Selenium 。页面对象模型

Java 泛型示例 - 我不明白吗?

http - 使用go http client Do方法时,httpResponse和error不能同时为nil吗?

php - 是否可以使用 PHP 重定向发送 POST 数据?

ios - 如何使用 Swift 5 的代理配置连接到 HTTP 服务器(为什么忽略 connectionProxyDictionary)?

如果 URL 中没有 HTTP,则 SQL 相关错误

Java - 丰富的 Web 服务日志记录