在perl中无法通过socks代理连接到主机
我试图通过socks代理连接到网站,但我得到错误:500无法连接到example.com:80在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
我做错了什么?这可能意味着三件事之一:
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!"'