HTML validator API을 사용하려고합니다. 말장난 예제는 나를 위해 잘 작동하고 그들을 자식 프로세스로 노드에서 찾을 수 있습니다. 다음은 그 코드입니다 :이 컬 요청에 해당하는 Node.js
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 라이브러리와 함께 그것을 시도했다. 저는 여기에 사용되는 코드는 다음과 같습니다
는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가 비어 있습니다. 내가 뭘 잘못하고 어떤 도움을 주실지 모르겠다. 슈퍼 에이전트와
이렇게했습니다. 감사. – Yulek
슈퍼 에이전트는 자동으로 사용자 에이전트 헤더를 추가해야합니다. 그러면 내 사례가 특별한 일을하지 않고도 "방금 효과가 있었던"이유를 설명 할 수 있습니다. – Kevin
@Kevin 예, 많은 http 클라이언트가 w3.org와 같은 사이트와의 호환성을 위해 자동으로 사용자 에이전트 헤더를 추가합니다. Curl도이 작업을 수행하여 문제의 말풍선 명령이 왜 효과가 있었는지 설명합니다. – tcooc