【问题标题】:How to use Perl's LWP::UserAgent GET request with tsocks如何通过 tsocks 使用 Perl 的 LWP::UserAgent GET 请求
【发布时间】:2019-03-18 10:42:30
【问题描述】:

我可以通过以下方式使用来自 tsocks 的代理连接到远程 url:

tsocks telnet host port

如何使用 Perl 的 LWP::UserAgent 模块来做同样的事情? 到目前为止,我一直在尝试这样,但它不起作用:

use strict;
use warnings;
use v5.16;
use LWP::UserAgent;
use HTTP::Request::Common;
use Data::Dumper;

#my $ua = LWP::UserAgent->new();
my $ua  = LWP::UserAgent->new(timeout => 10,
    ssl_opts => {
        #verify_hostname => 0,
        verify_hostname => 0,
        SSL_verify_mode => '0x01',
        SSL_version     => 'SSLv23:!SSLv3:!SSLv2',
    }
);
$ua->proxy(['http', 'https' ], 'https://proxy_host:proxy_port' );

my $request = GET ( 'https://remote_url', Accept => 'application/json' );
$request->authorization_basic( 'username', 'password' );
say $request->as_string();

my $response = $ua->request( $request );
say $response->as_string();

顺便说一句,我没有在这台服务器上安装袜子。所以我需要在没有他们的情况下这样做。

谢谢!

【问题讨论】:

    标签: perl tsocks


    【解决方案1】:

    LWP::UserAgent 和 SOCKS

    您可以使用LWP::Protocol::socks perl 软件包使LWP::UserAgent SOCKS 有能力。

    恕我直言,这对于您自己的 perl 脚本来说是更好的方法。
    tsocks 对于您不想修改的旧版 perl 脚本可能会更好。

    【讨论】:

      【解决方案2】:

      我找到了一个可能非常适合我的案例的解决方案:

      在运行脚本之前,我只需像这样调用tsocks

      tsocks script_name.pl
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-24
        • 1970-01-01
        • 2021-04-09
        • 2011-03-05
        • 2014-01-20
        • 2013-10-09
        • 1970-01-01
        相关资源
        最近更新 更多