客户端用axios发起请求:
axios.get('https://myip.ipip.net/',{
proxy:proxy,
})
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
})
1、比如我想实现http代理功能,服务端监听connect请求,收到请求后在转发之前会先判断客户端是否符合某些条件,符合的话进行代理,不符合也会响应客户端请求并且能携带message,比如响应407、502、200等等,而且能发送一段数据告知客户端哪里不符合
2、我下面的响应不对吗?为何客户端一直都是触发error事件?并且报错:Client network socket disconnected before secure TLS connection was established
httpTunnel.on('connect', (req, cltSocket, head) => {
cltSocket.write('HTTP/1.1 200 Connection Established\r\n'+
'Proxy-agent: MITM-proxy\r\n'+
'\r\n');
cltSocket.end()
})
我的理解是connect就是一个tcp链接,在http等应用层之下,那这样的话我cltSocket.write('HTTP/1.1 200............正常发送http报文客户端应该能响应才对,这到底是什么原理,什么逻辑??
官网的例子是这样的。是可以跑的。