Как использовать GET-запрос Perl LWP :: UserAgent с tsocks - PullRequest
0 голосов
/ 18 марта 2019

Я могу подключиться к удаленному URL через прокси из tsocks следующим образом:

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();

Кстати, на этом сервере не установлены носки. Поэтому мне нужно сделать это без них.

Спасибо!

Ответы [ 2 ]

1 голос
/ 18 марта 2019

LWP :: UserAgent и SOCKS

Вы можете использовать LWP::Protocol::socks perl make make LWP::UserAgent SOCKS способен.

ИМХО, это гораздо лучший способ для ваших собственных сценариев Perl.
tsocks может быть лучше для устаревших сценариев perl, которые вы не хотите изменять.

0 голосов
/ 18 марта 2019

Я нашел решение, которое может быть очень специфичным для моего случая:

Перед запуском сценария я просто вызываю tsocks следующим образом:

tsocks script_name.pl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...