详解nodejs通过代理(proxy)发送http请求(request)
有可能有这样的需求,需要node作为web服务器通过另外一台http/https代理服务器发http或者https请求,废话不多说直接上代码大家都懂的:
var http = require('http') var opt = { host:'这里放代理服务器的ip或者域名', port:'这里放代理服务器的端口号', method:'POST',//这里是发送的方法 path:' https://www.google.com', //这里是访问的路径 headers:{ //这里放期望发送出去的请求头 } } //以下是接受数据的代码 var body = ''; var req = http.request(opt, function(res) { console.log("Got response: " + res.statusCode); res.on('data',function(d){ body += d; }).on('end', function(){ console.log(res.headers) console.log(body) }); }).on('error', function(e) { console.log("Got error: " + e.message); }) req.end();
这样我们就通过了指定代理服务器发出了https的请求,注意这里我们同代理服务器是http协议的,不是https,返回的结果当然肯定会根据你的代理服务器不同有所不同。
Got response: 302 { location: 'https://www.google.com.tw/', 'cache-control': 'private', 'content-type': 'text/html; charset=UTF-8', 'set-cookie': [ 'PREF=ID=b3cfcb24798a7a07:FF=0:TM=1356078097:LM=1356078097:S=v_3qEd0_gCW6-xum; expires=Sun, 21-Dec-2014 08:21:37 GMT; path=/; domain=.google.com', 'NID=67=qoJf_z3W7KlibpNZ6xld__r0rYGyYu7l_XiDQmZ3anjBFadDzhijME3QcX651yucne_irK_2JMS8HF5FuxNl85mE0nDrtn9Iq0z2gW69n00OrB970hpHTbYe0mAogZit; expires=Sat, 22-Jun-2013 08:21:37 GMT; path=/; domain=.google.com; HttpOnly' ], p3p: 'CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."', date: 'Fri, 21 Dec 2012 08:21:37 GMT', server: 'gws', 'content-length': '223', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN', via: '1.0 ***.****.com:80 (squid/2.6.STABLE21)', 'proxy-connection': 'keep-alive' } <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>302 Moved</TITLE></HEAD><BODY> <H1>302 Moved</H1> The document has moved <A href="https://www.google.com.tw/" rel="external nofollow" >here</A>. </BODY></HTML>
谷歌返回了一个302,告诉我们进行跳转,需要访问 https://www.google.com.tw/ 这个地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持积木网。
Nodejs实现文件上传的示例代码
笔者用nodejs做项目时需要用到文件上传的功能,在网上搜索了很多教程,找到了一个express的中间件,用于处理multipart/form-data类型的表单数据,可以很方
Node.js dgram模块实现UDP通信示例代码
1、什么是UDP这里简单介绍下,UDP,即用户数据报协议,一种面向无连接的传输层协议,提供不可靠的消息传送服务。UDP协议使用端口号为不同的应用保
详解Node.js利用node-git-server快速搭建git服务器
本文用到了node-git-server1、检测本地git版本该包的使用需要机器上本来就安装git,且git的版本大于等于2.7:?─root@lt/home/workspace?─#git--versiongitversion2.7.42
编辑:568数据
标签:代理服务器,协议,代码,数据,示例