curl, как скачивать файлы со спецсимволами? - PullRequest
0 голосов
/ 07 марта 2019

моя функция загрузки:

public static function download($a)
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $a);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_FAILONERROR, 1);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($curl, CURLOPT_TIMEOUT, 15);
    $a= curl_exec($curl);
    curl_close($curl);
    return $a;
}

и с учетом этой ссылки:

http://example.com/x.txt

работает хорошо.Но с особым случаем:

http://example.com/fájl/név/with ékezetek.txt

, тогда это " 400 - неверный запрос. " curl_errno равен 22 тогда.Как скачать его тогда?urlencode не в порядке, так как он сам кодирует имя хоста.

РЕДАКТИРОВАТЬ: эти URL даны "снаружи", я не имею на это никакого влияния!

1 Ответ

0 голосов
/ 07 марта 2019

попытайтесь сделать

base64_encode

данных и

base64_decode

, чтобы получить исходные данные

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...