nodejs如何通过goagent(代理服务器)发送请求
用代理服务器是没有错的,在浏览器中使用代理服务器只需要设置一下就可以了,那么在nodejs程序中则只需要改变一下请求的参数即可。
说到代理服务器,用得比较多的是一些代理软件,比如自由门、goagent等,还有一些网站是提供代理服务的,那么我觉得最稳定的免费代理服务器的应该是goagent了,这个也是很多人都在使用的,所以这里就以gogent作为例子来讲解。
本例中用到了gogent,代理IP为:127.0.0.1,端口为:8087(这些都是默认的),如果没有goagent,其他的代理服务器也是同样的原理,就是提供了一个IP和端口。
本例中讲到的是http请求,其他的https socket也是类似的原理,因为http比较简单,所以先从这个开始。
那么先从http的请求开始,首先用到的是http模块,然后再用到http.get方法,通过http.get方法完成请求,得到需要的数据。
http.get需要到的参数主要有host port path,下面是一个简单的请求百度的例子:
var http = require(‘http‘) ,req ,opt={ host:‘www.baidu.com‘ ,port:80 ,path:‘/‘ } ; req = http.get(opt,function(res){ console.log(res.headers); });
这就是一个简单的请求,上面的程序就是一个直接的请求,那么使用代理请求只需要改一下host port path的配置就可以了。host 改为代理服务器的IP,port改为代理服务器的端口,path则为真实的请求url,这样这个请求就会先去请求代理服务器,代理服务器根据path来判断真实的请求,然后代理服务器进行请求,得到数据后返回给程序。具体代码如下:
/* 在nodejs中如何使用goAgent发送请求 */ var http = require(‘http‘) ,req ,opt={ host:‘127.0.0.1‘//代理服务器的IP ,port:8087//代理服务器的端口 ,path:‘http://www.baidu.com‘//真实请求的url } ; req = http.get(opt,function(res){ console.log(res.headers); });
控制台看到的结果:
gogent中看到的结果:
很明显看到了goagent发送了请求。
nodejs通过goagent(代理服务器)发送请求就是这样,很简单的一个例子,希望给有需要的朋友提供一些帮助,特别是像我这样的菜鸟!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。