Node.js 请求获取 VAST 代码
Node.js request GET a VAST tag
我正在尝试向某个 url returns VAST 标记发出 GET 请求。当我 curl 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 = {"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>
我想在我的 node.app 中收到 相同的 响应,但我只收到此消息:
<?xml version="1.0" encoding="utf-8"?> <VAST version="3.0"></VAST>
我做错了什么?这是我的代码:
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)
})
这可能看起来有点奇怪,但某些 VAST 引擎不会给出响应,除非您指定 User-Agent
这是我的 VAST 服务器人员告诉我的。
And User-Agent is a mandatory header for protocol in order to obtain a VAST response (it’s used in ad targeting). That is why without User-Agent you got an empty response.
尝试添加
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
}
};
P.S:我用的是 Fiddler,因为它是最短的而且很管用。
我正在尝试向某个 url returns VAST 标记发出 GET 请求。当我 curl 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 = {"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>
我想在我的 node.app 中收到 相同的 响应,但我只收到此消息:
<?xml version="1.0" encoding="utf-8"?> <VAST version="3.0"></VAST>
我做错了什么?这是我的代码:
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)
})
这可能看起来有点奇怪,但某些 VAST 引擎不会给出响应,除非您指定 User-Agent
这是我的 VAST 服务器人员告诉我的。
And User-Agent is a mandatory header for protocol in order to obtain a VAST response (it’s used in ad targeting). That is why without User-Agent you got an empty response.
尝试添加
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
}
};
P.S:我用的是 Fiddler,因为它是最短的而且很管用。