Closed leadscloud closed 5 months ago
服务器会返回 <head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
我用curl请求是没问题。
axios.get('https://kimi.moonshot.cn/api/auth/token/refresh' 中的Agent是
axios.get('https://kimi.moonshot.cn/api/auth/token/refresh'
agent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 80, protocol: 'http:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype] {}, freeSockets: [Object: null prototype], keepAliveMsecs: 1000, keepAlive: true, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 1, [Symbol(kCapture)]: false },
看情况是请求https://kimi.moonshot.cn/api/auth/token/refresh 是通过http网址请求的,所以返回这个错误。这个用node-fetch估计没有问题。
不太理解 axios的请求,这个是不是可以解决下。
本服务器是http://127.0.0.1:8000
我尝试使用node-fetch这个没有问题。axios就返回400错误
直接使用项目不需要处理这个请求,项目已经做好处理
这是一个真实存在的问题。我已经找到解决方案。
axios需要设置 adapter: 'fetch', 默认的xhr会类似浏览的XMLHttpRequest请求。由于在本地测试 http://localhost:8000 去请求https://会产生一些问题导致的。
服务器会返回
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
我用curl请求是没问题。
axios.get('https://kimi.moonshot.cn/api/auth/token/refresh'
中的Agent是看情况是请求https://kimi.moonshot.cn/api/auth/token/refresh 是通过http网址请求的,所以返回这个错误。这个用node-fetch估计没有问题。
不太理解 axios的请求,这个是不是可以解决下。
本服务器是http://127.0.0.1:8000