软件开发定制定制get/post请求使用工具(apifox/postman/浏览器)能请求通但是java代码不行的问题解决

目录

1、报错描述

一个接口,使用apifoxpostman软件开发定制定制工具都可以测通;


但是java软件开发定制定制软件开发定制定制代码请求不通;

2、代码请求不通,大多数的情况

一般来说对于某个接口,只要接口调试工具或者浏览器能请求通,那么接口提供方极大概率没有问题,主要还是请求代码的问题。而请求代码的问题大多数又是请求头Header的问题,这类问题的主要解决思路就是调整请求头中的参数值,大致如下:
Accept:*/*
Host:www.xxxx.com/xxx.xxx.xxx.xxx如果需要请指定服务的域名或者IP地址
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36
Content-Type:application/json;charset=UTF-8或者将charset=UTF-8取掉
Connection:keep-alive
以上的请求头只要配置合适可以解决大多数的问题,即便是没有,也可以根据网上的一些案例得到正确的配置解决问题。

3、代码请求不通,报错400的情况(重点说明)

如果说经过很久的排查,请求头Header的方式并没有解决问题,那么请参考下面的思路:
请检查你的请求参数中有没有中文!!!

https://www.xxx.com/api/v1/dosth?p1=3675f132e490&p2=张三&p3=5a41754d9aac50898
  • 1

类似上面的URL测试工具测试肯定是OK的,但是java代码有很有可能测试不通,因为中文没有encode转码,这个就是问题所在,因为测试工具和浏览器在转发你的请求的时候按照把参数进行了encode编码,而你的代码很有可能没有这一步,所以导致客户端一直请求不到服务端,所以经过encode编码后,你可以使用下面的URL再试试;

https://www.xxx.com/api/v1/dosth?p1=3675f132e490&p2=%E7%A4%E4%BF%9D&p3=5a41754d9aac50898
  • 1

因此解决问题的方向没有问题,一边需要检查请求头设置,另一方面要检查请求参数,也可能还有其他原因导致这个问题,但是总能解决。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发