Node.js请求获取一个VAST标签
Node.js request GET a VAST tag
我正试图对返回VAST标记的某个url进行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>
我希望在我的节点中收到相同的响应。应用程序,但我只收到这个:
<?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服务器人员告诉我的。
User-Agent是协议的强制标头,以便获得VAST响应(它用于广告定位)。这就是为什么没有User-Agent你得到一个空的响应。
尝试添加
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,因为它是最短的,而且很好用。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- VPAID javascript mediafile加载一个随机的VAST
- 我可以在单个播放器中添加多个VAST标签吗?这意味着,如果一个巨大的广告无法加载,那么就采用另一个
- Node.js请求获取一个VAST标签