Ich versuche, die folgende URL https://www.astegiudiziarie.it/vendita-asta-appartamento-genova-via-san-giovanni-d’acri-14-1360824
mit PHP cURL zum Download Download:PHP cURL URL mit Sonderzeichen
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.astegiudiziarie.it/vendita-asta-appartamento-genova-via-san-giovanni-d’acri-14-1360824');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$f = curl_exec($ch);
curl_close($ch);
echo $f;
aber der Server immer wieder eine Fehlerseite. Das Navigieren derselben URL in einem Webbrowser funktioniert einwandfrei. Manuelles Vergleichen der HTML-Quelle, die von curl_exec
mit der HTML-Quelle in einem Webbrowser zurückgegeben wird, ist der Unterschied sofort bemerkbar.
Ich versuchte utf8_decode()
die URL ohne Erfolg.
Ich kann nicht einfach wickeln die URL in urlencode()
, weil es auch normale Zeichen wie :
und /
kodieren.
Diese URLs werden programmgesteuert abgerufen (Scrapping) und haben nicht immer die gleiche Struktur, so dass es schwierig wäre, sie zu teilen und nur einige Teile urlencode.
Btw, es scheint, dass moderne Webbrowser diesen Fall sehr gut behandeln. Gibt es dafür eine Lösung in PHP?
Sie manuell das Sonderzeichen codiert, und es hat offensichtlich funktioniert. Aber die URL wird programmgesteuert abgerufen (Scrapping). Die Frage lautete, eine solche Kodierung programmatisch zu machen. –
Ich habe meine Antwort bearbeitet, versuchen Sie es erneut ... –
Ein bisschen hackish, teilen URL in Teilen, Codierung sie separat funktioniert.Ich habe mich nur gefragt, ob es einen schöneren Weg gibt, es zu tun. –