javascript - 使用 React 和 axios 进行 curl

标签 javascript reactjs curl axios

是否可以使用 axios 发出 curl 请求?

curl 字符串是:

curl -v 'https://developer.api.autodesk.com/authentication/v1/authenticate' --data 'client_id=1234&client_secret=1234&grant_type=client_credentials&scope=bucket:create bucket:read data:write data:read viewables:read' --header 'Content-Type: application/x-www-form-urlencoded' -k | jq '.'

我试过这样做:

getToken() {

    axios.get({
        url: 'https://developer.api.autodesk.com/authentication/v1/authenticate',
        data: {
            client_id: '1234',
            client_secret: '1234',
            grant_type : 'client_credentials',
            scope: 'data:read data:viewables'
        },
        beforeSend: function(xhr) {
             xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        }, success: function(data){
            console.log(data)
        }
    })        
}

但没有运气 - 例如没有任何反应。

我之前使用cygwin-terminal 发出curl-request 并且我成功得到了响应

{
 "token_type": "Bearer",
 "expires_in": 1799,
 "access_token": "eyJhbGciOiJIUzI1NiIsImtpZCI6Imp3dF9zeW1tZXRyaWNfa2V5X2RldiJ9.eyJjbGllbnRfaWQiOiJjWTFqcm1rQXhPSVptbnNsOVhYN0puVURtVEVETGNGeCIsImV4cCI6MTQ4NzU2NzgwMSwic2NvcGUiOlsiZGF0YTpyZWFkIl0sImF1ZCI6Imh0dHBzOi8vYXV0b2Rlc2suY29tL2F1ZC9qd3RleHAzMCIsImp0aSI6InJZcEZZTURyemtMOWZ1ZFdKSVVlVkxucGNWT29BTDg0dFpKbXlmZ29ORW1MakF0YVVtWktRWU1lYUR2UGlnNGsifQ.uzNexXCeu4efGPKGGhHdKxoJDXHAzLb28B2nSjrq_ys"
}

那么,这在 React/axios 中可行吗?

除了问题之外,我可以将收到的 token 传递给另一个 curl 请求吗?

最佳答案

嗯,这并不是真正的“curl 请求”。这是一个 HTTP 请求。 Curl 只是您用来通过命令行执行 HTTP(和其他)操作的工具。

在您的 HTTP 请求中,我可以看到您正在使用 axios.get(),但是您正在尝试执行 post 请求(您有一个正在尝试的数据对象发送)。所以你应该使用 axios.post()。最好查看 axios page查看 HTTP 帖子的语法,包括如何在帖子中包含数据和 header 对象。

在回答你的第二个问题时,是的,你可以。在第一个 axios 帖子的 .then() 部分,您可以使用响应做另一个 axios 帖子,例如

axios.post(
    ...
).then(response => {
    // do another post with response.token or whatever as the data
})
...

关于javascript - 使用 React 和 axios 进行 curl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931008/

相关文章:

javascript - jQuery事件求变

javascript - 结合使用 .toUpperCase() 和 .includes()

php - Outlook Rest Api 发送邮件请求返回状态 400

php - 如何使用 cURL 在 php 中调用 Base crm REST api?

javascript - ajax加载脚本不工作

css - AppBar 与其他元素重叠

javascript - 使表格可滚动

javascript - React 递增/递减函数仅允许 1 向上或向下

php - 如何在 PHP 中 curl uploadrocket

javascript - 如何从 JavaScript 中的字符串中提取数字?