Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
curl & SSL [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
curl & SSL


 
max479
20-09-2005, 17:01 
 
Hallo,

Seit 3 Tagen :rtfm: 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

 
TBT
20-09-2005, 17:27 
 
und wieso curl?

einfach fsockopen mit ssl?


$fp = fsockopen( $url='ssl://www.meinserver.de', $port=443, $errornr='', $errorstr='', $timeout=30 );


und dann mit fputs, fgets und fclose weiter

 
bitesser
21-09-2005, 10:39 
 
Hallö,
das kann so auch nicht gehen.
Deine Zieldatei:
$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:
$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?

 
max479
22-09-2005, 16:31 
 
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:02 Uhr.