Ich muss ein Skript erstellen, das auf eine Website zugreift, eine Abfrage absetzt, auf einen der Treffer klickt und die URL des Ergebnisses zurücksendet. Was ich festhalte, ist, die Abfrage an erster Stelle einzureichen. Hier ist, was ich habe:Perl LWP: Senden einer Abfrage - Fehler 400 URL muss absolut sein
use strict;
use warnings;
use LWP::UserAgent;
my $entry = $ARGV[0] or die;
my $url = 'http://genome.ucsc.edu/cgi-bin/hgBlat?hgsid=502819467_w6Oj12MTSqOIIJuSjAKsza4x9yeA&command=start';
my $browser = LWP::UserAgent->new;
my $response = $browser->post(
'$url',
[
'sequence' => $entry,
'search' => 'submit'
],
);
die "Error: ", $response->status_line
unless $response->is_success;
Ich erhalte diese Fehlermeldung: Fehler: 400 URL muss bei LWPtest.pl Linie absolut sein 14. Kann mir jemand erklären, was das bedeutet, und wie ich sollte das Problem beheben? Wie erreiche ich auch die "Klicks" auf einen der Treffer und sende die URL des Ergebnisses zurück?
EDIT:
ich dies in Frage auf der Website:
When including a Genome Browser URL, please remove the hgsid parameter. It is an internally-used parameter that expires after about a day.
nicht sicher, ob dieser Teil des Problems ist; es kann nach "ungefähr einem Tag" ein Problem werden.
Für Ihren Anwendungsfall ersetzen, https://metacpan.org/pod/WWW::Mechanize macht mehr Sinn als LWP mit :: Useragent . Es ist eine Unterklasse, die das Klicken einfacher macht und sich im Grunde wie ein Browser ohne JavaScript-Unterstützung verhält. – simbabque