LLM-Red-Team / kimi-free-api

🚀 KIMI AI 长文本大模型逆向API白嫖测试【特长:长文本解读整理】,支持高速流式输出、智能体对话、联网搜索、长文档解读、图像OCR、多轮对话,零配置部署,多路token支持,自动清理会话痕迹。
https://udify.app/chat/Po0F6BMJ15q5vu2P
GNU General Public License v3.0
3.64k stars 585 forks source link

win11本地测试会出现kimie服务器返回400错误 #118

Closed leadscloud closed 2 months ago

leadscloud commented 2 months ago

服务器会返回 <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是

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

leadscloud commented 2 months ago

我尝试使用node-fetch这个没有问题。axios就返回400错误

Vinlic commented 2 months ago

直接使用项目不需要处理这个请求,项目已经做好处理

leadscloud commented 2 months ago

这是一个真实存在的问题。我已经找到解决方案。

axios需要设置 adapter: 'fetch', 默认的xhr会类似浏览的XMLHttpRequest请求。由于在本地测试 http://localhost:8000 去请求https://会产生一些问题导致的。