首頁  >  問答  >  主體

java - Android 使用HttpURLConnection进行GET请求时返回406错误?

HttpURLConnection用GET方式请求一个http接口,接口返回的是一个json文件,报406错误
代码:
URL url = new URL(urlstr);
connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(50000);
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();//这里返回406
if (responseCode == 200) {
    is = connection.getInputStream();
    ......
}

如果设置connection.setRequestProperty("accept", "*/*");这句则会返回405,
请问这是什么原因?有谁遇到过?
ringa_leeringa_lee2764 天前487

全部回覆(3)我來回復

  • PHPz

    PHPz2017-04-18 09:42:23

    1、確定是json字串還是json檔案
    2、http的header中的accept-type,是不是要說明,跟服務端的同學溝通一下

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-18 09:42:23

    那你要問寫介面的人具體的對接參數和形式是什麼呀,請求錯了的鍋HttpURLConnection可不背。

    回覆
    0
  • 高洛峰

    高洛峰2017-04-18 09:42:23

    HTTP狀態碼詳解

    请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。   除非这是一个 HEAD 请求,否则该响应就应当返回一个包含可以让用户或者浏览器从中选择最合适的实体特性以及地址列表的实体。实体的格式由 Content-Type 头中定义的媒体类型决定。浏览器可以根据格式及自身能力自行作出最佳选择。但是,规范中并没有定义任何作出此类自动选择的标准。

    回覆
    0
  • 取消回覆