-1

У нас есть экземпляр Bugzilla, защищенный паролем, и я хотел бы загрузить отчет в формате CSV.

С помощью

wget $URL

или же

curl $URL

Я не получаю ни ошибки, ни запроса на аутентификацию. Bugzilla просто поставляет файл 0 байт

То же самое происходит с браузером. Если я наберу URL, я получу пустой файл. Если я войду на какую-либо страницу Bugzilla раньше, Bugilla доставит файл.

Есть ли способ пройти проверку подлинности из командной строки, сохранить файл cookie и затем извлечь отчет, используя те же файлы cookie?

1 ответ1

0

Хорошо, возможно есть лучшие решения, но это можно сделать с помощью небольшого Perl-скрипта.

#!/usr/bin/perl

use strict;
use warnings;

use WWW::Mechanize;
use Readonly;

Readonly::Scalar my $base_url => 'https://example.org';
Readonly::Scalar my $url      => "$base_url/bugzilla/report.cgi?...&ctype=csv&format=table";

# just as an example: put them in a property file
Readonly::Scalar my $username => 'USERNAME';
Readonly::Scalar my $password => 'PASSWORD';

my $mech = WWW::Mechanize->new();

$mech->get("$url&GoAheadAndLogIn=1");

my %login = (
    "Bugzilla_login"=> $username,
    "Bugzilla_password"=> $password
);
$mech->set_fields(%login);
$mech->submit( 'GoAheadAndLogIn' );
$mech->get( $url );
$mech->save_content( 'name.csv' );

1;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .