通过nodejs上的代理的TCP套接字客户端 [英] TCP socket client through proxy on nodejs

查看:21
本文介绍了通过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.connectdgram 没有代理支持.

将它与代理一起使用的最简单方法是将一些 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆