programing

curl 명령을 JavaScript로 변환

testmans 2023. 9. 17. 12:11
반응형

curl 명령을 JavaScript로 변환

이 curl 명령을 JavaScript로 변환하려고 합니다.

curl https://www.google.com/accounts/ClientLogin \
  --data-urlencode Email=mail@example.com \
  --data-urlencode Passwd=******* \
  -d accountType=GOOGLE \
  -d source=Google-cURL-Example \
  -d service=lh2

이 명령을 다음 명령으로 변환합니다.$.ajax()기능.제 문제는 제가 무엇을 넣어야 하는지 모르겠다는 것입니다.setHeadercommand curl에 있는 옵션에 대해 아래 기능을 사용합니다.

$.ajax({
    url: "https://www.google.com/accounts/ClientLogin",
    type: "GET",

    success: function(data) { alert('hello!' + data); },
    error: function(html) { alert(html); },
    beforeSend: setHeader
});


function setHeader(xhr) {
    // ?
}

기본적으로$.ajax()아직 문자열이 아닌 경우 데이터를 쿼리 문자열로 변환합니다. 여기 데이터는 개체이므로 데이터를 문자열로 변경한 다음 설정합니다.processData: false, 쿼리 문자열로 변환되지 않도록 합니다.

$.ajax({
 url: "https://www.google.com/accounts/ClientLogin",
 beforeSend: function(xhr) { 
  xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password")); 
 },
 type: 'POST',
 dataType: 'json',
 contentType: 'application/json',
 processData: false,
 data: '{"foo":"bar"}',
 success: function (data) {
  alert(JSON.stringify(data));
},
  error: function(){
   alert("Cannot get data");
 }
});

사용가능하시면fetch()대신에$.ajax, 당신은 curlconverter.com/javascript/ 을 사용할 수 있고 그것은 당신의 명령을 다음으로 변환할 것입니다.

fetch('https://www.google.com/accounts/ClientLogin', {
    method: 'POST',
    body: new URLSearchParams({
        'accountType': 'GOOGLE',
        'source': 'Google-cURL-Example',
        'service': 'lh2'
    })
});

언급URL : https://stackoverflow.com/questions/26274544/convert-curl-command-to-javascript

반응형