为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕仙森 2019-03-20 18:15:01
HttpURLConnection用GET方式请求一个http接口,接口返回的是一个json文件,报406错误代码:URL url = new URL(urlstr);connection = (HttpURLConnection) url.openConnection();connection.setConnectTimeout(50000);connection.setRequestMethod("GET");int responseCode = connection.getResponseCode();//这里返回406if (responseCode == 200) {    is = connection.getInputStream();    ......}如果设置connection.setRequestProperty("accept", "*/*");这句则会返回405,请问这是什么原因?有谁遇到过?
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

1、确定是json字符串还是json文件
2、http的header中的accept-type,是不是要说明,跟服务端的同学沟通一下

查看完整回答
反对 回复 2019-04-22
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

那你要问问写接口的人具体的对接参数和形式是什么呀,请求错了的锅HttpURLConnection可不背。


查看完整回答
反对 回复 2019-04-22
?
撒科打诨

TA贡献1934条经验 获得超2个赞

HTTP状态码详解

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

查看完整回答
反对 回复 2019-04-22
  • 3 回答
  • 0 关注
  • 950 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信