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

发布时间 - 2026-01-11 03:22:56    点击率:

有可能有这样的需求,需要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 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 昵图网官方站入口 昵图网素材图库官网入口  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  Laravel如何实现文件上传和存储?(本地与S3配置)  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Laravel如何实现本地化和多语言支持?(i18n教程)  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  高防服务器租用指南:配置选择与快速部署攻略  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  jQuery validate插件功能与用法详解  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  ,网页ppt怎么弄成自己的ppt?  Java遍历集合的三种方式  如何生成腾讯云建站专用兑换码?  如何在香港服务器上快速搭建免备案网站?  西安专业网站制作公司有哪些,陕西省建行官方网站?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  Laravel如何处理CORS跨域请求?(配置示例)  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  网站建设要注意的标准 促进网站用户好感度!  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Mybatis 中的insertOrUpdate操作  Laravel如何发送系统通知?(Notification渠道示例)  如何正确下载安装西数主机建站助手?  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  北京网站制作公司哪家好一点,北京租房网站有哪些?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  PHP正则匹配日期和时间(时间戳转换)的实例代码  怎么用AI帮你设计一套个性化的手机App图标?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  长沙企业网站制作哪家好,长沙水业集团官方网站?  html5的keygen标签为什么废弃_替代方案说明【解答】  如何确认建站备案号应放置的具体位置?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Laravel如何使用Livewire构建动态组件?(入门代码)  如何用景安虚拟主机手机版绑定域名建站?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  利用vue写todolist单页应用  如何在建站之星绑定自定义域名?