天天看点

发起自定义http请求

 对firefox的插件poster很感兴趣,想通过自己写的本地页面脚本实现,百度一下说得最多的是ajax,试了一下不行

原因如下:出于安全原因,浏览器对页面中的ajax请求(XMLHTTPRequest)有同源策略的限制。

如果两个页面的协议、域名和端口是完全相同的,那么它们就是同源的。当前加载页面只能发出同源的ajax请求。

这就跟我想的不一样了,因为poster这个插件是随便发的,怎么办呢,继续百度吧

幸运的是,居然搜到了一个很稀罕的js对象,WinHttp.WinHttpRequest.5.1,为什么说稀罕呢,因为关于这东西几乎没中文资料,只有msdn那有说明

这东西可以用来发包,而且可以加http头域,感觉不错,给个例子吧

var obj = new ActiveXObject("WinHttp.WinHttpRequest.5.1");

obj.Open("POST", url, false);

obj.Option(4) = 13056;

obj.Option(6) = false; //可以不自动跳转,截取服务端返回的302状态。

obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //加头域

obj.setRequestHeader("Referer", "http://support.wechat.com");var param = "uin=abcd1234"; 

obj.Send(param); 

继续阅读