我有以下子程序:
use Socket
...
sub proxy_connect {
   my $iaddr = Socket::inet_aton($proxy);
   my $paddr = Socket::sockaddr_in(81, $iaddr);
   my $proto = getprotobyname('tcp');
   my $fh    = new FileHandle;
   socket($fh, PF_INET, SOCK_STREAM, $proto) or return;
   connect($fh, $paddr) or return;
   $fh->autoflush(1);
   # return a pointer to file handle
   return \$fh;
}
my $mysock = proxy_connect();
Python 的方法完全不同,我没有返回一个 File 对象,而是返回一个套接字,但我不确定功能是否完全相同:
  import socket
  ...
  def proxy_connect():
     """
     Connect to the proxy and return a filehandle for it.
     """
     proxy = "proxy.mydomain.com"
     address = socket.gethostbyname(proxy)
     con = socket.socket(
     socket.AF_INET, socket.SOCK_STREAM)
     con.connect((address, 81))
     return con
我在翻译这个tunnel-ssh-over-http的正确道路上吗?注意,我是 Perl 的新手,这只是作为一个练习来学习更多关于 Perl 和套接字(在 Python 中)的东西。