Ankündigung

Einklappen
Keine Ankündigung bisher.

CURL in Seite einloggen und einen Teil parsen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CURL in Seite einloggen und einen Teil parsen

    Hallo,
    ich habe folgendes Problem. Ich moechte bei einer Seite anmelden, dann auf ein link von der Seite gehen bei der ich mich registriert habe. Dann weitere Informationen per Post senden und dann die angezeigte Seite in eine Datei parsen.
    Leider habe ich bisher nur den ersten login hinbekommen...

    PHP-Code:
    <?php

    //Die Session initialisieren
    $ch curl_init();

    //Variablen setzen
    $url ="http://www.beispiel.com/process.php";
    $arrSubmit="log=1&res=&hand=Name&pass=Passwort&submit=Login";
    $cookies="Cookiepfad";


    //Session Optionen setzen

    curl_setopt($chCURLOPT_URL,$url);
    curl_setopt ($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS$arrSubmit);
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_COOKIEJAR$cookies);
    curl_setopt($chCURLOPT_COOKIEFILE$cookies);
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
    //curl_setopt($ch, CURLOPT_FILE, $fp);

    //Ausführen der Aktionen
    curl_exec($ch);



    //Session beenden
    curl_close($ch);
    ?>
    Mit diesem Code bekomme ich erfolgreich die Seite hinter dem Loginportal im Browserfenster angezeigt. Ich habe aber keine Ahnung wie ich es jetzt schaffe bevor ich die session schliesse auf eine andere url zu wechseln die ebenfalls loginabhaengig ist und dann nocheinmal postdaten zu senden...

    Kann mir hier jemand helfen? Das auslesen der Seite ist dann wieder kein Problem...

    Danke,

    Matt

  • #2
    Die Session wird erst beendet wird, wenn du dich abmeldest über einen Link oder wenn der Browser neustartet oder ein Zeitlimit überschritten wird.
    Somit kannst du einfach mit CURL eine neue Seite aufrufen und weitermachen.

    Kommentar


    • #3
      Ok aber wie rufe ich mit curl eine neue Seite aus?

      Und wie kann ich neue post informationen senden?

      Danke,

      Matt

      Kommentar


      • #4
        Du setzt $url auf die neu Seite und $arrSubmit(falls nötig) auf die logindaten. Dann machst du noch mal diese Schritte
        PHP-Code:
        //Session Optionen setzen

        curl_setopt($chCURLOPT_URL,$url);
        curl_setopt ($chCURLOPT_POST1);
        curl_setopt($chCURLOPT_POSTFIELDS$arrSubmit);
        curl_setopt($chCURLOPT_HEADER0);
        curl_setopt($chCURLOPT_COOKIEJAR$cookies);
        curl_setopt($chCURLOPT_COOKIEFILE$cookies);
        curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
        //curl_setopt($ch, CURLOPT_FILE, $fp);

        //Ausführen der Aktionen
        curl_exec($ch); 



        So wird ich es machen!

        Kommentar


        • #5
          Hi,
          das hat mir schon sehr viel weiter geholfe... komme jetzt auf die naechste Seite!
          Ich habe noch eine Frage...ich weiss, wie ich den Output auf den Browser bekomme und wie in eine Datei. Aber kann ich auch im ersten Schritt den Output ganz unterdruecken?

          Im Moment lasse ich mir immer die Daten auf dem Bildschirm (Browser) anzeigen...und da sehe ich jetzt die Webseite zweimal...
          1) Nach dem ersten curl_exec --- also nach erfolgreichem einloggen
          2) Nach dem zweiten curl_exec --- nach dem wechseln auf eine neue URL

          Danke,

          Matt

          Kommentar


          • #6
            Ich glaube nicht.
            Wenn du aber nur die Seite getrennt anzeigen willst, mach eine Weiterleitung mit header();.

            Kommentar


            • #7
              Ok vielen Dank!
              habe es jetzt so geloest das ich die Seiten die ich nicht brauche erstmal einfach nur in ne Datei auslese.

              Danke,

              Matt

              Kommentar


              • #8
                Bitte, bitte.

                Kommentar


                • #9
                  Sry das ich das Thema nochmal aufrufe, aber wäre es eventuell möglich, dass du deinen letztendlichen Lösungsweg postest, sodass man sich einen Überblick von der Funktionsweise mit Curl im "Praxisbeispiel" machen kann.

                  Wäre sehr nett.

                  Kommentar

                  Lädt...
                  X