【问题标题】:Convert a cURL request to Javascript for an API call using hashed Authentication使用散列身份验证将 cURL 请求转换为 Javascript 以进行 API 调用
【发布时间】:2026-01-10 00:10:01
【问题描述】:

我是 Javascript 和 API 的初学者,我正在尝试使用 Javascript 使用 MD5 散列的凭据发出 PUT 请求,这会带回一个 Auth Code,以便我可以用来与服务器保持连接,但我没有能够。

我有一个 cURL 请求,它完全符合我的需要,但我不知道如何从 Javascript 发出相同的请求,我正在使用 jQuery Ajax 来尝试这样做。

我的 cURL 代码运行良好,如下所示:

curl -s -X PUT -H "Content-Type: application/json" -d '{"data": {"credentials": "MY-HASHED-CREDENTIALS","account_name": "My-account","method": "md5"}}' -k https://my.domain.com:8443/v1/user_auth

这里是带回错误的 Javascript 版本:

400(错误请求)

$.ajax({
        type: "PUT",
        dataType: "json",
        url: "https://my.domain.com:8443/v1/user_auth",
        headers: {"Content-Type" : "application/json"},
        data: {"credentials": "MY-HASHED-CREDENTIALS","account_name": "Centrecom","method": "md5"},
        success: function(data)
        {
            console.log(data);
        }
    });

我愿意接受有关如何在 Javascript 中完成此操作的建议,方法是翻译 cURL 或使用库。

【问题讨论】:

    标签: javascript json api curl


    【解决方案1】:

    你试过用邮递员调用API吗?

    我试图转换你的 curl 命令。

    var settings = {
      "async": true,
      "crossDomain": true,
      "url": "https://my.domain.com:8443/v1/user_auth",
      "method": "PUT",
      "headers": {
        "Content-Type": "application/json",
        "Cache-Control": "no-cache",
        "Postman-Token": "d009277c-c4f9-5f49-a65f-83cd74436826"
      },
      "processData": false,
      "data": "{\"credentials\": \"MY-HASHED-CREDENTIALS\",\"account_name\": \"Centrecom\",\"method\": \"md5\"}"
    }
    
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    

    【讨论】:

    • 非常感谢您的快速回复。不幸的是,它不起作用,它返回了同样的错误。
    最近更新 更多