项目场景:
项目需要使用到openai接口,浏览器以及postman调用接口均正常,唯独java项目中一直超时,本地项目使用的hutool自带的httpUtil工具类。
问题描述
使用postman调取接口正常返回:
本地java项目调取超时:
代码如下:
String resultJson =HttpRequest.get(URL).header("Accept","*/*").header(Header.ACCEPT_ENCODING,"deflate").header("Accept-Language","zh-CN,zh;q=0.9").header("Openai-Organization","org-ymN20wkmxoLe5z9ZfeSwbUxd").header("Origin","https://platform.openai.com").header("Referer","https://platform.openai.com/").header("Content-Type","application/json").header("Connection","keep-alive").header("Authorization", openaiAccountUsageDTO.getRemark()).header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36").timeout(400000).execute().body();
原因分析:
百度大概搜了一下,大多都是让设置idea的系统代理,都没有解决掉这个问题。。。。去翻了一下hutool的文档,恍然大悟
解决方案:
添加配置
.setHttpProxy("127.0.0.1", 7890)
,这里需要注意的是,代理的端口取决于你本地代理开启的端口号,修改后的代码如下:
String resultJson =HttpRequest.get(URL).header("Accept","*/*").header(Header.ACCEPT_ENCODING,"deflate").header("Accept-Language","zh-CN,zh;q=0.9").header("Openai-Organization","org-ymN20wkmxoLe5z9ZfeSwbUxd").header("Origin","https://platform.openai.com").header("Referer","https://platform.openai.com/").header("Content-Type","application/json").header("Connection","keep-alive").header("Authorization", openaiAccountUsageDTO.getRemark()).header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36").timeout(400000).setHttpProxy("127.0.0.1",7890)//代理配置,线上环境无需使用.execute().body();
![在这里插入图片描述](https://img-blog.csdnimg.cn/7a70c599ad3842d1b4a72c129356440b.png
版权归原作者 多芬朋克 所有, 如有侵权,请联系我们删除。