情况:做一个新项目的插口连接,用Getman\postman等插口调节专用工具全是能够的。用程序执行就报415.
缘故:依据插口所传主要参数的不一样,post要求的Content-type有四种:
application/x-www-form-urlencoded(默认设置)
application/xml
application/json
multipart/form-data
我所连接的插口所传的主要参数是json文件格式的,编码中沒有设定请求头header的Content-Type,默认设置是application/x-www-form-urlencoded。
URIBuilder uriBuilder = new URIBuilder(url); //创建一个http post请求 HttpPost httpPost = new HttpPost(uriBuilder.build()); //设置请求头header httpPost.setHeader("Content-Type","application/json"); //设置请求数据 httpPost.setEntity(new StringEntity(strJson,"utf-8"));
修改进行之后,插口要求取得成功。