Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在perl中无法通过socks代理连接到主机_Perl_Sockets_Socks_Lwp - Fatal编程技术网

在perl中无法通过socks代理连接到主机

在perl中无法通过socks代理连接到主机,perl,sockets,socks,lwp,Perl,Sockets,Socks,Lwp,我试图通过socks代理连接到网站,但我得到错误:500无法连接到example.com:80 我做错了什么?这可能意味着三件事之一: 您188.26.223.189:1080的代理不起作用 example.com不起作用 example.com不适用于188.26.223.189 LWP::Protocol::socks使用IO::Socket::socks作为socks库。因此,您可以通过定义SOCKS\u DEBUG环境变量来打开调试: #!/usr/bin/perl use stric

我试图通过socks代理连接到网站,但我得到错误:500无法连接到example.com:80
我做错了什么?

这可能意味着三件事之一:

  • 您188.26.223.189:1080的代理不起作用
  • example.com不起作用
  • example.com不适用于188.26.223.189
  • LWP::Protocol::socks
    使用
    IO::Socket::socks
    作为socks库。因此,您可以通过定义
    SOCKS\u DEBUG
    环境变量来打开调试:

    #!/usr/bin/perl
    
    use strict;
    use LWP::UserAgent;
    
    my $ua = new LWP::UserAgent(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5');
    $ua->proxy('http' => 'socks://188.26.223.189:1080');
    my $response = $ua->get('http://example.com');
    print $response->code,' ', $response->message,"\n";
    print $response->decoded_content . "\n";
    
    这将向你展示一个短袜握手。所以你可以看到这次握手成功与否()

    您也可以尝试通过
    IO::Socket::Socks
    直接连接,查看它是否成功:

    SOCKS_DEBUG=1 perl test.pl
    

    您安装了Perl模块吗?是的,我安装了它。请看。除了
    [qw/httphttps/]
    之外,它看起来几乎一样。这也不起作用。我希望这里能出现奇迹。查看是否可以将“telnet”发送到代理服务器(
    $telnet 188.26.223.189 1080
    )。我想知道您是否需要代理上的用户名和密码?
    perl -MIO::Socket::Socks -E 'IO::Socket::Socks->new(ProxyAddr => "188.26.223.189", ProxyPort => 1080, ConnectAddr => "example.com", ConnectPort => 80, Timeout => 30, SocksDebug => 1) or die $SOCKS_ERROR; say "Connected!"'