我可以在nodejs中抓取一个网页,但我需要先验证自己.在curl中,您可以使用curl –user user:password [url]执行此操作.
如何在节点中获得相同的结果?
解决方法
您只需要为HTTP请求添加授权标头. Authorization标头应包含用冒号结合的用户名和密码,然后应使用冒号进行Base64编码,然后使用Basic和单个空格.
var header = 'Basic ' + new Buffer(user + ':' + pass).toString('base64');
这是一个涉及GET请求的完整示例.
var http = require('http'); var user = 'username'; var pass = 'password'; var auth = new Buffer(user + ':' + pass).toString('base64'); var options = { host: 'example.com',port: 80,path: '/path',headers: { 'Authorization': 'Basic ' + auth } }; http.get(options,function(res) { // response is here });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。