现在的位置: 首页 > web前端 > 正文

HTTP返回415

2020年07月06日 web前端 ⁄ 共 1021字 ⁄ 字号 评论关闭

  今天在工作中,发现我再调用外部API接口的时候,发现一个奇怪的问题,就是我Eclipse中写代码调用外部API接口时返回HTTP状态码是415,但是我将相同的报文放在HttpRequester里面请求的时候却又可以拿到正常返回结果,而不是415错误。


  415返回码的含义


  不知道有没有人跟我一样遇到过这个问题,这里记录一下解决办法。


  首先我们还是看下HTTP的状态码关于415返回码的说明吧。


  415 UnsupportedMediaType 服务器无法处理请求附带的媒体格式


  乍看之下,当时并没有看出来是什么意思,后来通过度娘搜索了下,觉得应该是跟发送HTTP报文的请求头中的Content-Type有关。


  415返回码的怎么办


  于是,我尝试了下,在Eclipse中的Java代码中,在发送Http请求时带上了相应的头字段,


  publicclassTest{


  publicstaticvoidmain(String[]args)throwsIOException{


  StringsendData="{\"appId\":\"***\",\"contentName\":\"人民的名义\",\"equipmentId\":\"***\",\"requestSeq\":\"***\",\"requestType\":\"1\",\"userId\":\"***\"}";


  StringBuilderresultBuilder=newStringBuilder();


  Map<String,String>headers=newHashMap<String,String>();


  headers.put("Content-Type","application/json;charset=utf-8");


  UrlConnectionHelper.post(url,sendData,"UTF-8",8000,headers,resultBuilder);


  System.out.println(resultBuilder.toString());


  }


  }


  总之,415个人觉得应该是我们尝试发送的数据是一定数据格式的,比如json,比如xml等等,这时候需要告诉处理方我们发送的是什么样的数据,如果没有告诉的话接收方可能就直接拒识了,这时候我们只要根据实际情况给数据接收方提供发送报文的数据格式应该就可以了。

抱歉!评论已关闭.