正确传递了数据,但接口返回内容为空250错误

栏目分类:帮助教程 发布时间:2022-03-31 阅读次数:4040

首先可以在线测试或者浏览器中测试一下,如果同样的参数在线测试中可以返回数据,但自己的代码不行,一般可能是编码设置问题。

特别是get方式传递中文值时,应特别注意中文编码问题。大多数语言都有urlencode等类似函数,可以将中文或其他特别符号转为URL编码形式。例如PHP可以使用urlencode("中文字符")、JAVA可以使用URLEncoder.encode("中文字符" ,"UTF-8")。

另外,如果您发送给接口的参数值为图片的base64编码,则需要进行urlencode转换。因为base64可能会有+之类的符号造成解析异常。


如果返回240等错误,对于java语言HttpCilentUtil工具类,请确保有如下类似的设置:


conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");


此代码设置请求时的数据编码格式为接口默认支持的application/x-www-form-urlencoded方式。


 URLDecoder类中包含下面两个编解码静态方法参考使用:


decode(String s,Stringcharcter),它可以将看上去乱码的特殊字符串转换成普通字符串。  
encode(String s,Stringcharcter),可以将普通字符串转换成application/x-www-form-urlencoded字符串。


HttpClient类在传参和返回结果中遇到中文乱码问题可如下设置:


entity = new StringEntity(data,"UTF-8");
StringEntity stringEntity = new StringEntity(sendData,"UTF-8");
stringEntity.setContentType("application/json");


如果依然无法解决,可尝试使用https协议或者在专业技术平台请教其他开发者试试。

其他推荐OTHER API 更多>

开通会员专享福利
工单 客服