Javascript Node.js请求获取大量标记
我试图对某个url发出GET请求,该url返回一个巨大的标记。当我卷曲url时,Javascript Node.js请求获取大量标记,javascript,node.js,http-get,vast,Javascript,Node.js,Http Get,Vast,我试图对某个url发出GET请求,该url返回一个巨大的标记。当我卷曲url时,curl-v'http://a.host.for.vasttag.com/foo/ad.jsp?fooid=someidhere“我收到的普通html如下所示: <script type="text/javascript" src="foobar.js"></script><script type="text/javascript">var FOO_customization =
curl-v'http://a.host.for.vasttag.com/foo/ad.jsp?fooid=someidhere“
我收到的普通html如下所示:
<script type="text/javascript" src="foobar.js"></script><script type="text/javascript">var FOO_customization = {"account":"foo1","playerid":"foo1232","inapp":"true","domain":"foodomain.com"}</script><script type="text/javascript" id="exampleBanner" src="http://this.is.net/banner/LATEST/inbanner.min.js"></script>
这可能看起来有点奇怪,但一些大型引擎不会给出响应,除非您指定
用户代理
这就是我庞大的服务器人员告诉我的
用户代理是协议的一个强制头,以获得大量响应(用于广告定位)。这就是为什么没有用户代理,您会得到一个空响应
尝试添加
var options = {
method: 'GET',
host: 'a.host.for.vasttag.com',
port: 80,
path: '/foo/ad.jsp?fooid=someidhere',
headers: {
'Content-Type': 'text/html',
'User-Agent': 'Fiddler' //here
}
};
附言:我使用了Fiddler,因为它是最短的,而且有效。你能用cURL命令更新问题吗?添加了cURL命令@stewart如果你不通过node发送标题会发生什么?
var http = require('http')
var options = {
method : 'GET',
host: 'a.host.for.vasttag.com',
port: 80,
path: '/foo/ad.jsp?fooid=someidhere',
headers: {'Content-Type': 'text/html'},
}
http.get(options, function(res) {
console.log("Got response: " + res.statusCode)
res.on("data", function(chunk) {
console.log(chunk)
})
}).on('error', function(e) {
console.log("Got error: " + e.message)
})
var options = {
method: 'GET',
host: 'a.host.for.vasttag.com',
port: 80,
path: '/foo/ad.jsp?fooid=someidhere',
headers: {
'Content-Type': 'text/html',
'User-Agent': 'Fiddler' //here
}
};