在使用 https.request(options,callback) node.js 访问模板和 503 状态代码之前检查您的浏览器
Posted
技术标签:
【中文标题】在使用 https.request(options,callback) node.js 访问模板和 503 状态代码之前检查您的浏览器【英文标题】:Getting Checking your browser before accessing template and 503 status code with https.request(options,callback) node.js 【发布时间】:2017-09-27 08:00:54 【问题描述】:我想获取这个页面的html进行解析(点击链接了解我要获取的内容)。
750-bond list
这是我请求此页面内容的代码
var https = require("https");
var fs = require("fs");
var options =
hostname: "www.prizebond.net",
port: 443,
path: "/dlist.php?num=455",
method: "GET"
;
var response = "";
var req = https.request(options, function (res)
res.setEncoding("UTF-8");
console.log(res.statusCode);
res.on("data", function (chunk)
response += chunk;
);
res.on("end", function ()
fs.writeFile("750-bond.html", response, function (err)
if (err)
console.log(err.message);
console.log("File downloaded");
);
console.log("end");
);
);
req.end();
现在的问题是,在我的 750-bont.html 文件中,我得到了奇怪的 “在访问 Prizebond.net 之前检查您的浏览器”的结果,而不是 原创内容。这是我打开 750 时得到的屏幕截图- 浏览器中的bond.html文件。
我做错了什么?以及如何获取该网页的原始内容?
【问题讨论】:
你做错了什么?您正在尝试抓取不想被抓取的网站 为什么要否决这个问题? 我想我应该等待 5 秒钟然后继续请求? 【参考方案1】:你不能,除非你写一些更复杂的东西,但你可能不应该。
Cloudflare-protection 的目的是防止您试图实现不幸的事情。
您可以研究通过公共 API 访问您想访问的任何内容的可能性,或者例如,prizebond.net 提供的东西。
【讨论】:
以上是关于在使用 https.request(options,callback) node.js 访问模板和 503 状态代码之前检查您的浏览器的主要内容,如果未能解决你的问题,请参考以下文章
Node.js 中的 SPDY https.request()
python https request产生 nginx 499错误的解决
Node.js https.get 或 https.request 中的 Kerberos 身份验证
pytest文档46-关于https请求警告问题(InsecureRequestWarning: Unverified HTTPS request is being made)
InsecureRequestWarning: Unverified HTTPS request is being made.解决方法