详解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单页应用
如何在建站之星绑定自定义域名?

