gpt4 book ai didi

javascript - Node.js 相当于此curl 请求

转载 作者:行者123 更新时间:2023-12-03 05:38:33 27 4
gpt4 key购买 nike

我正在尝试使用 HTML validator API 。 curl 示例对我来说效果很好,我可以将它们作为子进程在 Node 中运行。这是代码:

var command = ('curl -H "Content-Type:text/html; charset=utf-8" --data-binary @' + file + 
' https://validator.w3.org/nu/?out=json');

exec(command, function(err1, out, err2) {
console.log(out);
console.log('done');
});

但是,当我尝试使用标准 HTTP 请求时,我无法让它工作。我用 Unirest 尝试过Node.js 的库。这是我使用的代码:

var source = '<html><head><title>a</title></head><body>a</body></html>';
var url = 'http://validator.w3.org/nu/?out=json';


var Request = unirest.post(url);
Request.headers({'Content-Type': 'text/html', 'charset': 'utf-8'});
Request.send(source);
Request.end(res => console.log(res));

响应正文未定义,响应 raw_body 为空。我不知道我做错了什么,非常感谢任何帮助。

最佳答案

似乎 validator.w3.org 不会响应没有 user-agent header 的请求。添加此 header :

Request.headers({'Content-Type': 'text/html; charset=utf-8', 'user-agent': 'Node.js'});

或者使用您想要的任何用户代理。

关于javascript - Node.js 相当于此curl 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641484/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com