详解nodejs通过代理(proxy)发送http请求(request)


Posted in NodeJs onSeptember 22, 2017

有可能有这样的需求,需要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服务器(6):作出响应
Dec 18 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
详解nodejs express下使用redis管理session
Apr 24 NodeJs
深入理解Nodejs Global 模块
Jun 03 NodeJs
nodejs利用ajax实现网页无刷新上传图片实例代码
Jun 06 NodeJs
nodejs判断文件、文件夹是否存在及删除的方法
Nov 10 NodeJs
nodejs实现的连接MySQL数据库功能示例
Jan 25 NodeJs
详解NodeJs开发微信公众号
May 25 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 NodeJs
nodeJS与MySQL实现分页数据以及倒序数据
Jun 05 NodeJs
使用vs code开发Nodejs程序的使用方法
Sep 21 #NodeJs
详解使用vscode+es6写nodejs服务端调试配置
Sep 21 #NodeJs
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
Sep 19 #NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 #NodeJs
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
Sep 18 #NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 #NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 #NodeJs
You might like
一个oracle+PHP的查询的例子
2006/10/09 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
详解jQuery事件
2017/01/13 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
Python实现二分查找算法实例
2015/05/26 Python
python在ubuntu中的几种安装方法(小结)
2017/12/08 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
Python之Class&amp;Object用法详解
2019/12/25 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
女方回门宴答谢词
2014/01/14 职场文书
职务聘任书范文
2014/03/29 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书