通过nodejs上的代理的TCP套接字客户端 [英] TCP socket client through proxy on nodejs
本文介绍了通过nodejs上的代理的TCP套接字客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要与 smtp 服务器建立 tcp 套接字连接.是否可以通过nodejs上的代理服务器连接?有没有可用的 npm 模块?我根本找不到.
var net = require('net');var 主机 = '127.0.0.1';变量端口 = 6969;var client = new net.Socket();client.connect(PORT, HOST, function() {console.log('连接到:' + 主机 + ':' + 端口);client.write('我在这里!');});//为客户端套接字添加一个 'data' 事件处理程序//数据是服务器发送到此套接字的内容client.on('数据',函数(数据) {console.log('数据:' + 数据);});//为客户端套接字添加一个关闭"事件处理程序client.on('关闭', function() {console.log('连接关闭');});
解决方案
net.socket
, tls.connect
和 dgram
没有代理支持.
将它与代理一起使用的最简单方法是将一些 libc 函数替换为 proxychains
或类似的东西.
var client = require('tls').connect(443, 'www.facebook.com', function() {console.log('已连接');client.write('你好');}).on('数据',函数(数据){console.log('received', data.toString());}).on('关闭', function() {console.log('关闭');});
<块引用>
代理链节点 fit.js
已连接收到 HTTP/1.1 400 错误请求...关闭
I need to make tcp socket connection to smtp server. Is it possible to connect through proxy server on nodejs? Is there any npm modules available to use? I couldn't find any at all.
var net = require('net');
var HOST = '127.0.0.1';
var PORT = 6969;
var client = new net.Socket();
client.connect(PORT, HOST, function() {
console.log('CONNECTED TO: ' + HOST + ':' + PORT);
client.write('I am here!');
});
// Add a 'data' event handler for the client socket
// data is what the server sent to this socket
client.on('data', function(data) {
console.log('DATA: ' + data);
});
// Add a 'close' event handler for the client socket
client.on('close', function() {
console.log('Connection closed');
});
解决方案
net.socket
, tls.connect
and dgram
have no proxy support.
The simplest way to use it with proxy is to replace some libc functions with proxychains
or something similar.
var client = require('tls')
.connect(443, 'www.facebook.com', function() {
console.log('connected');
client.write('hello');
})
.on('data', function(data) {
console.log('received', data.toString());
})
.on('close', function() {
console.log('closed');
});
proxychains node fit.js
connected
received HTTP/1.1 400 Bad Request
...
closed
这篇关于通过nodejs上的代理的TCP套接字客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文