【问题标题】:GET request from a PHP script in a limited environment在受限环境中从 PHP 脚本获取 GET 请求
【发布时间】:2010-07-26 13:56:59
【问题描述】:

我必须从 PHP 脚本运行获取请求,但我处于相当有限的环境中(防火墙严密,无法修改 PHP 安装等...)。

fsockopen() 返回错误并且 http_get() 似乎没有安装。我知道的唯一另一种方法是调用 file_get_contents(),它可以正常工作,除了我需要在请求中设置引用标头(我认为你不能使用 file_get_contents() 来做到这一点。

有谁知道通过 php 运行 GET 请求的其他方法吗?

谢谢!

edit:另外,CURL 不可用。 :-(

【问题讨论】:

  • +1 表示格式良好的问题。

标签: php http httpwebrequest


【解决方案1】:

您可以使用file_get_contents()HTTP context 设置标题。例如

$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Referer: http://foo.bar.com\r\n"
  )
);

$context = stream_context_create($opts);
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);

【讨论】:

  • 感谢 Otterfan!我在您之前大约 8 分钟遇到了该答案并将其发布在此处:-D - 感谢您的帮助!
【解决方案2】:

查看 PHP 中的 CURL 函数。

【讨论】:

  • 感谢您的回答 - 我忘记将 CURL 添加到不可用的方法列表中。 :-( 不过谢谢!
【解决方案3】:

经过一些额外的研究,考虑到我拥有的资源,看起来我最好的选择是使用 stream_context_create() 在上下文流中创建标头,您显然可以将其发送到 file_get_contents()。不知道!

【讨论】:

    猜你喜欢
    • 2013-08-25
    • 2018-02-23
    • 2012-06-06
    • 2016-02-11
    • 1970-01-01
    • 2020-01-26
    • 2011-11-06
    • 2014-07-04
    • 1970-01-01
    相关资源
    最近更新 更多