You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将cURL请求转换为Axios请求?特定cURL命令转换问题咨询

如何用Axios实现指定的cURL短链接请求?

我来帮你排查问题并修正代码~首先咱们先拆解你给出的cURL命令,看看它到底在做什么:

curl -XPOST -d 'url=https%3A%2F%2Fgoogle.com%2F' 'https://goolnk.com/api/v1/shorten'

这个命令是通过POST请求发送application/x-www-form-urlencoded类型的表单数据(也就是普通网页表单提交的格式),而你之前写的Axios代码是把url作为JSON对象传递的,这就跟服务器期望的请求格式不匹配,所以才会出现问题。

接下来给你两种可行的修正方案:

方案一:使用URLSearchParams构造表单数据

这是最直接的方式,符合浏览器原生的表单数据处理逻辑:

const params = new URLSearchParams();
params.append('url', 'https://google.com/'); // 这里不需要手动编码,URLSearchParams会自动完成编码工作

axios.post("https://goolnk.com/api/v1/shorten", params)
  .then(function (response) {
    console.log(response.data); // 建议直接打印response.data查看返回的核心内容
  })
  .catch(function (error) {
    console.error('请求出错:', error);
  });

方案二:手动设置请求头并处理表单数据

如果你习惯用对象形式传递数据,可以借助qs库(需要先安装:npm install qs)来序列化数据,同时指定请求头的Content-Type:

import qs from 'qs';

axios.post("https://goolnk.com/api/v1/shorten", qs.stringify({ url: 'https://google.com/' }), {
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
})
.then(function (response) {
  console.log(response.data);
})
.catch(function (error) {
  console.error('请求出错:', error);
});

如果不想额外安装库,也可以手动拼接成表单字符串:"url=https%3A%2F%2Fgoogle.com%2F",不过这种方式不够灵活,不推荐。

总结一下:核心问题就是请求数据的格式不匹配,把JSON格式改成服务器期望的表单格式就能解决啦~

内容的提问来源于stack exchange,提问作者user16418727

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 17:27:34