Thread Hash in JSON finden
(21 answers)
Opened by cbxk1xg at 2013-11-14 15:42
Ich habe festgestellt, dass ich jetzt gelegentlich einen schönen Fehler geschmissen bekomme. Dabei bricht gleich das komplette Script ab.
Quote Das zeigt auf die Zeile mit folgendem Inhalt. Code (perl): (dl
)
my ($jsonHash) = values %{ $perl_data->{query}->{pages} }; Ich vermute, dass das passiert wenn der Wikipedia-Server sich verschluckt und eine leere Antwort zurück schickt. Leider kann ich das Problem nicht immer exakt reproduzieren. Hier noch mal meine Sub im Ganzen. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 sub GetWikipediaAbstract { my ($query) = @_; $query = &EncodeString($query); my $SearchURL = $WikipediaAPI_URL.$query; my $ua = LWP::UserAgent->new; $ua->timeout(1); $ua->agent('$ScriptUserAgent'); my $response = $ua->get($SearchURL); if ($response->is_success) { my $content = $response->decoded_content; $content = &EncodeUTF8($content); my $json_obj = new JSON; my $perl_data = $json_obj->decode($content); my ($jsonHash) = values %{ $perl_data->{query}->{pages} }; my $text = $jsonHash->{extract}; unless ($text eq "") {return $text} } } |