Capital.com API的Curl转React Axios等价代码及400错误修复
Capital.com API登录请求:Curl转Axios(React)修正方案
原Curl请求解析
这段Curl是向Capital.com会话接口发起的POST登录请求,核心结构拆解:
- 请求方法:POST,目标地址
https://api-capital.backend-capital.com/api/v1/session - 请求头:包含API密钥
X-CAP-API-KEY和内容类型Content-Type: application/json - 请求体:JSON格式的登录参数,包含
encryptedPassword、identifier、password三个字段
你的代码问题
你错误地把请求头字段和请求体参数混在了Axios POST的第二个参数里(Axios第二个参数仅用于传递请求体),导致接口无法正确解析请求,返回400错误。
修正后的Axios代码
const loginHandler = () => { // 单独配置请求头 const requestHeaders = { 'X-CAP-API-KEY': 'tL0xi4wvz5X8uHaD', 'Content-Type': 'application/json' }; // 整理请求体参数 const requestBody = { encryptedPassword: false, identifier: 'hadwe', password: '88asc' }; axios.post( 'https://api-capital.backend-capital.com/api/v1/session', requestBody, { headers: requestHeaders } // 请求头放在配置对象中传入 ) .then(res => { console.log(res.data); }) .catch(err => { console.error('请求失败:', err.response?.data || err.message); }); };
关键注意点
- Axios POST的参数顺序为:
请求地址→请求体数据→配置对象(含headers等) - 若请求仍报错,可尝试将
encryptedPassword改为字符串"false"(与原Curl保持一致)
内容的提问来源于stack exchange,提问作者Hadi Zouhbi
相关产品推荐
相关产品推荐

