Skip to content

Instantly share code, notes, and snippets.

@M1n007
Last active December 10, 2022 07:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save M1n007/a43b90a92f117c0546b2a511337ec8b4 to your computer and use it in GitHub Desktop.
Save M1n007/a43b90a92f117c0546b2a511337ec8b4 to your computer and use it in GitHub Desktop.
const { CurlGenerator } = require('curl-generator');
const { exec } = require('child_process');
const createCurlCommand = (url, method, headers, body) => {
const params = {
url,
method,
headers
}
if (body) params.body = body
const generateCommand = CurlGenerator(params, { compressed: true })
return generateCommand.replace('curl', '')
}
const execCommand = (command) => new Promise((resolve, reject) => {
exec(command, (err, stdout, stderr) => {
if (err) {
reject(err, stderr)
}
resolve(stdout)
});
});
(async () => {
try {
const curlImperSonatePattern = 'docker run --rm lwthiker/curl-impersonate:0.5-chrome curl_chrome101';
const headers = {
}
const curlGeneratorResult = createCurlCommand(encodeURI('https://jsonplaceholder.typicode.com/todos/1'), 'GET', headers, '');
const resultCurl = await execCommand(`${curlImperSonatePattern} ${curlGeneratorResult}`)
console.log(resultCurl)
} catch (e) {
console.log(e)
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment