首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java http调用返回响应代码: 501

Java http调用返回响应代码: 501
EN

Stack Overflow用户
提问于 2009-09-10 17:46:33
回答 2查看 8.6K关注 0票数 0

我对这个错误有一个问题:

代码语言:javascript
复制
**Server returned HTTP response code: 501 for URL: http://dev1:8080/data/xml/01423_01.xml**      

请参阅以下代码:

代码语言:javascript
复制
   private static Map sendRequest(String hostName, String serviceName) throws Exception {
         Map assets = null;
         HttpURLConnection connection = null;

         Authenticator.setDefault(new Authenticator());


         URL serviceURL = new URL(hostName + "/" + serviceName);
         connection = (HttpURLConnection)serviceURL.openConnection();
         connection.setRequestMethod("GET");
         ClientHttpRequest postRequest = new ClientHttpRequest(connection);

         InputStream input = null;


         /*

         At line input = postRequest.post(); I get the following error
         Server returned HTTP response code: 501 for URL: http://dev1:8080/data/xml/01423_01.xml

         Yet if I enter that url in my browser it opens up fine.  
         Is this a common problem? Is there some type of content type I need to set?
         */
         input = postRequest.post();
         connection.disconnect();
         return assets;
     }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-10 19:00:01

501响应意味着“未实现”,并且通常被认为意味着服务器不理解您使用的HTTP方法(例如get、post等)。

我不认识ClientHttpRequest但是你有一句台词说

代码语言:javascript
复制
connection.setRequestMethod("GET");

然后有一行字写着

代码语言:javascript
复制
input = postRequest.post();

我不确定post()到底是做什么的,但这是否意味着发送一个POST请求?如果是这样,则这与第一行中指定的GET相矛盾。

无论采用哪种方法,服务器都会说它不支持GET或POST方法,无论您的代码实际发送的是哪种方法。您需要找出服务器支持该URL的方法,并使用该方法。

票数 3
EN

Stack Overflow用户

发布于 2009-09-10 18:05:17

也许你应该检查你的端口设置:

代码语言:javascript
复制
 new URL(hostName + "/" + serviceName);

看起来缺少端口号":8080“。

一些服务器期望客户端在请求中提供额外的信息,比如用户代理或一些表单数据。运行在服务器上的应用程序甚至可以期待cookie。您还应该检查完整的响应,而不仅仅是响应代码。

我建议您使用更方便的库,如:https://hc.apache.org/httpcomponents-client-ga/index.html

下面是一个简单的使用示例:

https://github.com/apache/httpcomponents-client/blob/master/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientWithResponseHandler.java

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1406709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档