【问题标题】:get external script content as variable in php获取外部脚本内容作为 php 中的变量
【发布时间】:2011-03-04 12:17:06
【问题描述】:

我正在尝试将http://www.wowhead.com/spell=74217&power 放入一个变量中,以便我可以随意解析它并保存到我的数据库中。我什至无法回应它,不过我可能是大脑滞后。

【问题讨论】:

  • 我已经在使用 file_get_contents 来获取数据的其他部分,但奇怪的是,我在获取这个时迷失了方向,基本上是回显……我只想回显 file_get_contents('@987654322 @);它不会有任何回应。
  • 我太笨了,把回声放在错误的循环中......从来没有在屏幕上显示它。

标签: php parsing file-get-contents


【解决方案1】:
$content = file_get_contents('http://www.wowhead.com/spell=74217&power');

【讨论】:

    【解决方案2】:

    根据您的配置,您可以使用file_get_contents,通过其 URL 打开远程文件,并获取相应的内容。

    您需要启用allow_url_fopen 指令。


    如果它没有启用,你可能不得不回退到curl——这意味着更多的工作......

    【讨论】:

    • 我已经在使用 file_get_contents 来获取数据的其他部分,但奇怪的是,我在获取这个数据时迷失了方向,基本上是在回显......
    【解决方案3】:

    对我来说,下面的代码可以完成这项工作:

    var_dump(file_get_contents("http://www.wowhead.com/spell=74217&power"));¬
    

    但我会使用 HTTP 客户端库来完成。

    也许你的配置禁用了它,检查allow_url_fopen,它必须打开才能使用file_get_contents中的URL。

    【讨论】:

    • 我已经在使用 file_get_contents 来获取数据的其他部分,但奇怪的是,我在获取这个数据时迷失了方向,基本上是在回显......
    • 然后使用嗅探器工具检查 HTTP 流量,例如tcpdump 或使用我提到的 HTTP 客户端库。可能服务器阻塞了你的客户端(连接太多)。
    • 我不这么认为,因为我已经在使用来自同一站点的另一个脚本。是否仍然有可能仅针对此请求而阻止我并允许使用来自同一站点的其他脚本?
    • 这取决于请求和服务器。如果请求可以相互区分,则可以阻止它。
    【解决方案4】:

    在 URL 中将 & 号写成 & 然后返回完整的页面。

    <?php
    ini_set("error_reporting", E_ALL);
    ini_set('display_errors', 1);
    if (ini_get("allow_url_fopen")) {
        echo $content = file_get_contents('http://www.wowhead.com/spell=74217&amp;power');
    } else {
        echo "file_get_contents() won't work";
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      相关资源
      最近更新 更多