javascript中的Curl-u请求

javascript中的Curl-u请求,javascript,rest,curl,Javascript,Rest,Curl,我需要执行如下的curl请求: curl -u "apikey:{apikey}" "{url}" 如何在javascript中实现这一点?尤其是在javascript请求中处理-u curl字段时遇到了一些麻烦 使用JavaScript时,必须使用API键指定基本身份验证头(Authorization:basic)。如果您使用的是XMLHttpRequest,请查看以下内容:在使用JavaScript时,必须使用API键指定基本身份验证头(Authorization:basic)。如果您使用

我需要执行如下的curl请求:

curl -u "apikey:{apikey}" "{url}"

如何在javascript中实现这一点?尤其是在javascript请求中处理-u curl字段时遇到了一些麻烦

使用JavaScript时,必须使用API键指定基本身份验证头(
Authorization:basic
)。如果您使用的是XMLHttpRequest,请查看以下内容:

在使用JavaScript时,必须使用API键指定基本身份验证头(
Authorization:basic
)。如果您使用的是XMLHttpRequest,请查看以下内容:

您不能从curl调用javascript。 您确定要调用javascript而不是post json吗


不能从curl调用javascript。 您确定要调用javascript而不是post json吗


要扩展@whirlwin的答案,可以使用以下代码生成所需的标题值:

const apiKey = "someApiKey"
const basicAuthValue = Buffer.from(`apikey:${apikey}`).toString("base64");
const authHeaderValue = `Basic ${basicAuthValue}`

//node
let requestOpts = {/* node http options */}; 
requestOpts = { 
    ...requestOpts, 
    headers: { 
        ...requestOpts.headers, 
        "Authorization": authHeaderValue 
    } 
}

//browser
const request = new XMLHttpRequest();
request.setRequestHeader("Authorization", authHeaderValue)

要扩展@whirlwin的答案,可以使用以下代码生成所需的标题值:

const apiKey = "someApiKey"
const basicAuthValue = Buffer.from(`apikey:${apikey}`).toString("base64");
const authHeaderValue = `Basic ${basicAuthValue}`

//node
let requestOpts = {/* node http options */}; 
requestOpts = { 
    ...requestOpts, 
    headers: { 
        ...requestOpts.headers, 
        "Authorization": authHeaderValue 
    } 
}

//browser
const request = new XMLHttpRequest();
request.setRequestHeader("Authorization", authHeaderValue)

下面是一个使用vanillaJS的解决方案

var request = new XMLHttpRequest();
request.open("GET", yourUrl, true);
request.setRequestHeader("apikey","someapikey778229"); 
request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        //do something here;
    }
};
request.send();

下面是一个使用vanillaJS的解决方案

var request = new XMLHttpRequest();
request.open("GET", yourUrl, true);
request.setRequestHeader("apikey","someapikey778229"); 
request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        //do something here;
    }
};
request.send();

否。
curl-u
设置从
apikey:someapikey778229的base64编码值生成的
授权
头。
curl-u
设置从
apikey:someapikey778229的base64编码值生成的
授权