curl & SSL

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

  • curl & SSL

    Hallo,

    Seit 3 Tagen kämpf ich nun schon damit ein CSV File einer externen https:// Adresse auf meinen Server zu speichern um dieses danach mittels fopen() weiterverarbeiten zu können. Dieser Umweg uber die CURL Extension ist bei domainfactory leider notwendig.

    Folgendes Script:

    <?
    /*
    Funktioniert (brauch ich aber nicht)
    Würde ich $csv_dest in eine absolue URL ändern kommt ebenfalls
    der unten angef. Fehler.
    */
    $csv_url="https://www.xxx.net/subscription.csv";
    $csv_dest="firstgate_csv/csv.txt";

    /*
    Funktioniert nicht ($csv_url: Extern, $csv_dest: mein Server)
    $csv_url="https://firstgate.de/xxx.csv?user=A&pass=B";
    $csv_dest="http://www.xxx.net/firstgate_csv/csv.txt";
    */

    //Die Session initialisieren
    $ch = curl_init($csv_url);
    $fp = fopen($csv_dest,"w");

    //Session Optionen setzen
    curl_setopt($ch,CURLOPT_FILE,$fp);
    curl_setopt($ch,CURLOPT_HEADER,0);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);

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

    //Session beenden
    curl_close($ch);
    fclose($fp);
    ?>

    Folgende Fehlermeldung:

    Warning: fopen(http://www.xxx.net/firstgate_csv/csv.txt): failed to open stream: HTTP wrapper does not support writeable connections. in /kunden/107269_1200/xxx/curl.php on line 20

    Warning: curl_setopt(): supplied argument is not a valid File-Handle resource in /kunden/107269_1200/xxx/curl.php on line 23
    AboDefinitionID;AbonnementID 225632795;229367959 225632795;230963340
    Warning: fclose(): supplied argument is not a valid stream resource in /kunden/107269_1200/xxx/curl.php on line 33

    Sollte mir hier irgendjemand helfen können
    würde ich mich sehr freuen.

    Vielen Dank und lg,
    Max

  • #2
    und wieso curl?

    einfach fsockopen mit ssl?

    PHP-Code:
    $fp fsockopen$url='ssl://www.meinserver.de'$port=443$errornr=''$errorstr='',  $timeout=30 ); 
    und dann mit fputs, fgets und fclose weiter
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Hallö,
      das kann so auch nicht gehen.
      Deine Zieldatei:
      PHP-Code:
      $csv_dest="http://www.xxx.net/firstgate_csv/csv.txt"
      ist ja auch ein HTTP Ziel. Hast Du schon mal gesehen, dass man auf ein HTTP Ziel schreiben kann? Das musst Du natürlich als lokale Datei zum Schreiben öffnen. ALso irgendwie sowas wie:
      PHP-Code:
      $csv_dest="./firstgate_csv/csv.txt"
      Wenn der Host für die Zieldatei allerdings wo anders liegt, als das Script, mit dem Du die CSV herunterlädst, dann geht das nur über ein zweites Script auf dem Zielhost, an das Du mit dem Script zum Herunterladen die CSV Daten per POST übermittelst.
      Alles klar?

      Kommentar


      • #4
        Funkt schon.

        $csv_dest="./firstgate_csv/csv.txt"; war der Punkt.

        Und:
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);

        kann ich mir auch sparen.

        Jetzt muss ich nur noch einen Weg finden, das downgeloadene
        CSV File vor Fremdzugriffen zu schützen.

        Thx!

        lg,
        Max

        Kommentar

        Lädt...
        X