Функция file_get_contents и https

BabyKiller

Новичок
Исполняю эту строчку:
PHP:
file_get_contents("https://play.google.com/store/apps/developer?id=Sérgio+Flores");
А она мне выдает 404:
Warning: file_get_contents(https://play.google.com/store/apps/developer?id=Sérgio+Flores) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in Z:\home\play\www\index.php on line 151

Проблема здесь именно в спецсимволе é, потому как другие страницы без спецсимволов обрабатываются нормально.
Мне кажется что file_get_contents некорректно отрабатывает спецсимволы, но что и где ковырять понять не могу.
 

BabyKiller

Новичок
Этот вариант пробовал, но он не сработал. Выдавал такую ошибку:
Warning: file_get_contents(https://play.google.com/store/apps/developer?id=Sérgio+Flores) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in Z:\home\play\www\index.php on line 151

Но спасибо огромное, что обратили на эту функцию ещё раз! Т.к. теперь вот такой код исполняется:
PHP:
file_get_contents("https://play.google.com/store/apps/developer?id=S".urlencode('é')."rgio+Flores");
Теперь надо думать, как сделать так, что бы всю строку можно было.
На данный момент придётся использовать следующий костыль:
PHP:
$id=str_replace("%2B","+",urlencode('Sérgio+Flores'));
file_get_contents("https://play.google.com/store/apps/developer?id=$id");
Спасибо ещё раз!!!
 
PHP:
<?php

$parsed_url = extract( parse_url ( 'https://play.google.com/store/apps/developer?id=Sérgio+Flores' ) );

parse_str( $query, $parsed_query );
$url = $scheme . '://' . $host . $path . '?' . http_build_query( $parsed_query );

file_get_contents( $url );
 

BabyKiller

Новичок
Да, мне стыдно! :)

Сам себя запутал и усложнил задачу.
Если интересно: сначала что бы ссылка работала сделал замену пробелов на плюсы :), потом появились спецсимволы и ссылка сломалась, пришлось выдумывать ещё вышеописанный костыль..

Еслиб я знал.... Как написали на соседнем форуме: "в урлах никакие символы кроме латинских простых буковок не передаются"

Всем большое спасибо!
 
Сверху