stefanpr: PHP -> PERL, die 2.

Hallo noch mal,

nach dem die erste Frage von mir dankenswerter Weise von euch beantwortet wurde, läuft perfekt, noch eine evtl. etwas schwierigere Sache.

u.a. ist in dem PHP-Skript folgendes, was ich "übersetzen" muß.

$response = file($url);

Jetzt gibt es das file-Konstrukt ja so nicht unter PERL.

Habe es erst mit LWP::SIMPLE probiert, bekomme da nichts zurück ausser HHTP-Statuscode 501 und meine, es liegt daran, daß die URL eine "https"-Adresse ist und LWP::SIMPLE evtl. kein SSL unterstuetzt!?

Habe mich dann per LWP versucht:
[code]
my $url="https://....";
my $ua = LWP::UserAgent->new(); # Erzeuge Useragent
my $request = HTTP::Request->new(GET=>$url);
my $response = $ua->simple_request($request);
my $html =  $response->content();
[\code]

Da bekomm ich aber nur "LWP will support https URLs if the Crypt::SSLeay module is installed. More information at ." zurueck.

Nun las ich aber u.a. in einem Forum, dass es angeblich sogar NUR mit LWP::SIMPLE gehen sollte bzw. sah ein Bsp. wo es jmd. mit LWP gemacht hat und ohne dem CRYPT-Modul.

Sollte das also eigentlich auch wie in meinem obigen Codestueck gehen oder muss ich zwingend das CRYPT-Modul installieren?

Danke

  1. Aus dem Gedächtnis: LWP kann nicht SSL.

    1. Aus dem Gedächtnis: LWP kann nicht SSL.

      Na gut:
      http://search.cpan.org/~gaas/libwww-perl-5.805/lib/LWP.pm#HTTPS_Requests

      Du hast doch so eine nette Meldung, die Dich darauf hinweist ein Modul zu aktivieren. Tue das doch.

      1. http://search.cpan.org/~gaas/libwww-perl-5.805/lib/LWP.pm#HTTPS_Requests
        Also demnach sollte LWP SSL können?

        Du hast doch so eine nette Meldung, die Dich darauf hinweist ein Modul zu aktivieren. Tue das doch.

        Das ist nicht so einfach zu handeln.

        Danke aber für die Info!

  2. Habe es erst mit LWP::SIMPLE probiert, bekomme da nichts zurück ausser HHTP-Statuscode 501 und meine, es liegt daran, daß die URL eine "https"-Adresse ist und LWP::SIMPLE evtl. kein SSL unterstuetzt!?

    Selbstverständlich unterstützt libwww-perl HTTPS, allerdings muss dafür *zwingend* ein SSL-Interface installiert sein, z.B. das von dir genannte Crypt::SSLeay (ich weiß nicht, ob es auch andere gibt). Daneben musst du m.W. LWP::UserAgent statt LWP::Simple nutzen. Es gibt daneben auch andere CPAN-Module für dein Vorhaben (z.B. Net::SSLeay), mit Empfehlungen diesbezüglich halte ich mich aber mangels Sachkunde besser zurück :)

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)