全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解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  # request  # proxy  # http  # js对象属性的拦截与Proxy代理与Reflect映射的用法和区别讲解  # JavaScript Object.defineProperty与proxy代理模式的使用详细分析  # JS 中Proxy代理和 Reflect反射方法示例详解  # JS代理对象Proxy初体验简单的数据驱动视图  # nuxt.js服务端渲染中axios和proxy代理的配置操作  # node.js使用 http-proxy 创建代理服务器操作示例  # 使用nodejs中httpProxy代理时候出现404异常的解决方法  # JavaScript中的Proxy代理的用法和功能详解  # 代理服务器  # 大家都  # 有可能  # 一台  # 有所不同  # 告诉我们  # 跳转  # 多说  # 大家多多  # 端口号  # 通过了  # 发出了  # 肯定会  # tw  # location  # control  # cache  # private  # error  # data 


相关文章: 合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  活动邀请函制作网站有哪些,活动邀请函文案?  西安专业网站制作公司有哪些,陕西省建行官方网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何在Windows服务器上快速搭建网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  建站10G流量真的够用吗?如何应对访问高峰?  威客平台建站流程解析:高效搭建教程与设计优化方案  学校为何禁止电信移动建设网站?  如何快速搭建二级域名独立网站?  如何零基础在云服务器搭建WordPress站点?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  建站之星展会模版如何一键下载生成?  高端建站如何打造兼具美学与转化的品牌官网?  如何快速完成中国万网建站详细流程?  网站制作服务平台,有什么网站可以发布本地服务信息?  如何实现建站之星域名转发设置?  建站主机解析:虚拟主机配置与服务器选择指南  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  如何选择建站程序?包含哪些必备功能与类型?  网站制作公司排行榜,抖音怎样做个人官方网站  家庭建站与云服务器建站,如何选择更优?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  高端建站三要素:定制模板、企业官网与响应式设计优化  高性能网站服务器部署指南:稳定运行与安全配置优化方案  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何选择适配移动端的WAP自助建站平台?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  建站之星下载版如何获取与安装?  如何高效生成建站之星成品网站源码?  建站之星与建站宝盒如何选择最佳方案?  如何将凡科建站内容保存为本地文件?  如何挑选最适合建站的高性能VPS主机?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  深圳网站制作平台,深圳市做网站好的公司有哪些?  简单实现Android验证码  教学网站制作软件,学习*后期制作的网站有哪些?  北京专业网站制作设计师招聘,北京白云观官方网站?  制作网站的公司有哪些,做一个公司网站要多少钱?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何构建满足综合性能需求的优质建站方案?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  小建面朝正北,A点实际方位是否存在偏差?  济南专业网站制作公司,济南信息工程学校怎么样?  贸易公司网站制作流程,出口贸易网站设计怎么做?  Swift中循环语句中的转移语句 break 和 continue 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。