https代理原理之代码
来源:互联网 发布:人工智能是谁提出来的 编辑:程序博客网 时间:2024/05/13 22:58
Event: 'connect'#
function (response, socket, head) { }
Emitted each time a server responds to a request with a CONNECT
method. If this event isn't being listened for, clients receiving aCONNECT
method will have their connections closed.
A client server pair that show you how to listen for the 'connect'
event.
const http = require('http');const net = require('net');const url = require('url');// Create an HTTP tunneling proxyvar proxy = http.createServer( (req, res) => { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('okay');});proxy.on('connect', (req, cltSocket, head) => { // connect to an origin server var srvUrl = url.parse(`http://${req.url}`); var srvSocket = net.connect(srvUrl.port, srvUrl.hostname, () => { cltSocket.write('HTTP/1.1 200 Connection Established\r\n' + 'Proxy-agent: Node.js-Proxy\r\n' + '\r\n'); srvSocket.write(head); srvSocket.pipe(cltSocket); cltSocket.pipe(srvSocket); });});// now that proxy is runningproxy.listen(1337, '127.0.0.1', () => { // make a request to a tunneling proxy var options = { port: 1337, hostname: '127.0.0.1', method: 'CONNECT', path: 'www.google.com:80' }; var req = http.request(options); req.end(); req.on('connect', (res, socket, head) => { console.log('got connected!'); // make a request over an HTTP tunnel socket.write('GET / HTTP/1.1\r\n' + 'Host: www.google.com:80\r\n' + 'Connection: close\r\n' + '\r\n'); socket.on('data', (chunk) => { console.log(chunk.toString()); }); socket.on('end', () => { proxy.close(); }); });});
0 0
- https代理原理之代码
- cookie,session,https,代理原理详解
- RO代码跟踪 之 客户端代理类的工作原理
- Spring之代理设计模式原理与代码展示
- https 代理
- Charles使用代理方式截获https的原理分析
- SpringAOP原理之动态代理
- 代理模式之强制代理模式以及动态代理原理
- 6. Dubbo原理解析-代理之Javassist生成的伪代码
- 6. Dubbo原理解析-代理之Javassist生成的伪代码
- Socket5代理的原理及代码
- HTTPS : HTTPS原理详解
- HTTPS代理明文截获之证书伪造(Python)
- charles 学习笔记之代理http,https请求
- https原理
- Https原理
- HTTPS原理
- https原理
- Myeclipse优化二
- Spark ML函数VectorAssembler
- .全局寻优搜索:仍然保留OPEN表。在这种方法搜索中
- ThreadLocal 那点事儿
- Can’t start Git:git.exe
- https代理原理之代码
- UMG视频教程
- 回过头再看 计算机体系结构3----内存屏蔽和内存栅栏
- IOS生成同时支持armv7,armv7s,i386 x86_64的静态库.a文件
- Ext.Ajax.request获取后台的数据
- Linux生成动态库.so与生成静态库.a
- CSS无图片实现小三角
- 第九章 课后择业6
- jsp猜数游戏