PHP使用file_get_contents获取页面内容不返回任何内容

时间:2015-09-18 19:47:36

标签: php

我正在尝试使用file_get_contents从roblox网站获取数据。我正在尝试访问查找用户页面:http://www.roblox.com/search/users?keyword=

当我请求页面时,我给出1个名为username = [name]的参数。但是,只要我尝试加载页面,就不会返回任何结果。

我尝试了file_get_contents,domdocument,curl。没有任何效果。我不知道该怎么办了。

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

我没有收到任何错误。只是镀铬连接超时错误。

2 个答案:

答案 0 :(得分:1)

尝试使用firebug(开发工具)打开: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-

(嗯,似乎他们总是随着每一个请求吐出来 - 虽然它是特定于我们如何尝试的东西)

尽管如此,该网站可能不喜欢您抓取他们的(您的?)内容,并且正在积极尝试阻止您的尝试。

以下是我在等待15秒后从file_get_contents获得的内容的截图...

enter image description here

答案 1 :(得分:1)

只是chrome连接超时错误。

这表明你的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);
?>