2015-09-18 4 views
1

Я пытаюсь извлечь данные с сайта roblox с помощью file_get_contents. Я пытаюсь получить доступ к странице пользователя: http://www.roblox.com/search/users?keyword=PHP получить содержимое страницы с помощью file_get_contents ничего не возвращает

Когда я запрашиваю страницу, я даю 1 параметр get имя пользователя = [имя]. Однако, как только я пытаюсь загрузить страницу, результат не возвращается.

Я попробовал file_get_contents, domdocument, curl. Ничего не получилось. Я не знаю, что делать дальше.

<?php 
    $User = $_GET["username"]; 
    $Result = file_get_contents("http://www.roblox.com/search/users?keyword=".$User); 
    var_dump($Result); 
?> 

У меня нет ошибок. Ошибки тайм-аута соединения только хрома.

+0

«результат не указан» - означает, что вы получаете страницу _blank_? – VolkerK

+0

Точно, когда я пытаюсь вывести результат, ничего не появляется. – Thodor12

+0

- ваш 1 параметр _username_ или _keyword_? Потому что это выглядит как _keyword_. – HPierce

ответ

1

Попробуйте это с FireBug (Dev инструменты) открыты: http://codepad.viper-7.com/fbEOPp

пришлось бы копать немного больше, чтобы увидеть, что происходит помутнение. В наименее один редирект там. Можете посмотреть на agent или другими способами. Возможно, посмотрите, предлагают ли они API или посмотрите условия их сайта.

Источник показывает ...

 _______  _________  _____  ______  _ 
    /_____ \ |____ ____| /___ \  | ____ \ | | 
    //  \_\  | |  // \ \ | | \ \ | | 
    | |    | | //  \ \ | | | | | | 
    \ \______   | |  | |  | | | |___//| | 
    \______ \  | |  | |  | | | ____/ | | 
      \ \  | |  | |  | | | |  | | 
    _  | |  | |  \ \ // | |  |_| 
    \ \_____//  | |  \ \___// | |   _ 
    \_______/  |_|  \_____/  |_|  |_| 

    Keep your account safe! Do not paste any text here. 

    If someone is asking you to paste text here then you're 
    giving someone access to your account, your gear, and 
    your ROBUX. 

    To learn more about keeping your account safe you can go to 

    https://en.help.roblox.com/hc/en-us/articles/203313380-Account-Security-Theft-Keeping-your-Account-Safe- 

(хмм, кажется, они плюют, что из всегда с каждым запросом - хотя это конкретно, как мы пытались вещи)

Тем не менее, может быть сайт вам не нравится, как вы соскабливаете свой (ваш?) контент и активно пытаетесь помешать вашим попыткам.

Вот скриншот того, что я получаю от file_get_contents после 15 секунд ожидания ...

enter image description here

+0

codepad удалось получить исходный код – Thodor12

+0

Вы открыли firefox или chrome dev инструменты, как я указал? Также выглядит пара прыжков там - занимает минута. Вы увидите вывод на консоли. В любом случае, они действительно не хотят, чтобы вы делали это, похоже. – ficuscr

+0

Я не получаю ничего в инструментах для обработки хрома. Только это:/deep/combinator устарел. См. Https://www.chromestatus.com/features/6750456638341120 для получения более подробной информации. Ну, это не значит, что они не хотят, чтобы я к нему обращался. Потому что, когда я пытаюсь получить основной сайт, у меня нет проблем. – Thodor12

1
Просто хромовые ошибки тайм-аута соединения.

Это говорит о том, что ваш php-скрипт не терпит неудачу, а останавливается. Может быть HTTP-запрос; так что давайте попробуем это с более коротким таймаутом:

<?php 
ini_set('display_errors', true); 
error_reporting(-1); 

$User = $_GET["username"]; 
$ctx = stream_context_create(array('http'=>array(
    'timeout'=>3.0 
))); 

$Result = file_get_contents(
    "http://www.roblox.com/search/users?keyword=".$User, 
    false, 
    $ctx 
); 
var_dump($Result); 
?> 
+0

Тот же результат все равно дает хром-тайм-аут – Thodor12

+0

Имеет отношение к тому, как file_get_contents обрабатывает определенные переадресации, я думаю. Предлагает использовать cURL здесь. – ficuscr

Смежные вопросы