Curl
Pit
- php
Hallo,
seit meinem Update (oder auch früher und ich habs einfach noch nicht gemerkt) funktioniert folgende Funktion nicht mehr:
function my_curl_get_result($url) {
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, $url);
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
return $output;
}
Kennt jemand eventuell einen Grund? ich hatte die Funktion zuvor einige Jahre problemlos in Betrieb…
Edit: Wenn ich die Url über den Browser aufrufe, ist das Ergebnis einwandfrei.
Pit
Bei mir geht das.
php -v:
~> php -v
PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
Was steht im error-log?
Abklären:
Da das Skript an sich funktionieren sollte: Kann es sein, dass der Admin des Servers negativ darauf reagiert hat, dass sich PHP als "user-agent" meldet?
Dann:
curl_setopt($ch, CURLOPT_USERAGENT, 'Netscape Gold 3.0');
Abklären:
Da das Skript an sich funktionieren sollte: Kann es sein, dass der Admin des Servers negativ darauf reagiert hat, dass sich PHP als "user-agent" meldet?
Hallo ursus,
erstmal danke fürs Gegenchecken, ob das Script ansich läuft.
Also, das mit dem User-Agent hatte ich auch schon abgeklärt, dennoch bin ich durch Dein post letztlich auf den Fehler gekommen: Meine Zieladresse hatte von http auf https umgestellt und ich bin somit immer auf eine 301er-Meldung aufgelaufen, die natürlich meiner Auswertung zuwieder lief.
Also, danke nochmal fürs Mithelfen,
pit
Meine Zieladresse hatte von http auf https umgestellt
Shit happens! Auf genau diesen "Fehler" bin ich auch gestoßen, weil ich meine eigene Webseite verwendet hatte, die ebenfalls https erzwingt. Mit der richtigen URL ging es. Das hätte ich Dir also sogar schreiben können.
Wenn ich die Url über den Browser aufrufe, ist das Ergebnis einwandfrei.
Jau. Wenn man nicht aufpasst und nicht darauf achtet, dass die URL im Browser umgeschrieben wird, sondern nur auf die erscheinende Webseite starrt, dann merkt man es nicht.
Meine Zieladresse hatte von http auf https umgestellt
Shit happens! Auf genau diesen "Fehler" bin ich auch gestoßen, weil ich meine eigene Webseite verwendet hatte, die ebenfalls https erzwingt. Mit der richtigen URL ging es. Das hätte ich Dir also sogar schreiben können.
Ist aber nicht schlimm, es hätte mir weniger als 2 Minuten erspart.
Wenn ich die Url über den Browser aufrufe, ist das Ergebnis einwandfrei.
Jau. Wenn man nicht aufpasst und nicht darauf achtet, dass die URL im Browser umgeschrieben wird, sondern nur auf die erscheinende Webseite starrt, dann merkt man es nicht.
Genau. Beim ersten/zweiten Mal hab ichs nicht gemerkt, aber beim 3. mal ist es mir dann sofort aufgefallen. Damit war der Fall dann klar. 😉
Pit