代码之家  ›  专栏  ›  技术社区  ›  loneboat

在有限的环境中从PHP脚本获取请求

  •  1
  • loneboat  · 技术社区  · 14 年前

    我必须运行一个来自PHP脚本的get请求,但我所处的环境相当有限(防火墙很紧,无法修改PHP安装等等)。

    fsockopen()返回一个错误,并且似乎没有安装http\u get()。我所知道的唯一其他方法是调用file\u get\u contents(),它工作正常,只是我需要在请求中设置referer头(我认为您不能用file\u get\u contents()来完成)。

    谢谢!

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

    3 回复  |  直到 14 年前
        1
  •  2
  •   Otterfan    14 年前

    您可以使用 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);
    
        2
  •  1
  •   m1tk4    14 年前

    请参见PHP中的CURL函数。

        3
  •  0
  •   loneboat    14 年前

    经过一些额外的研究,我认为我最好的办法是使用stream\u context\u create()在上下文流中创建头文件,显然可以将其发送到文件\u get\u contents()。我不知道!