stream_get_contents无效

时间:2013-12-13 08:43:02

标签: php

我正在尝试向网站发送POST请求以进行登录,他们获取内容并解析它们。但当我回应结果时,没有任何东西存在。有什么帮助吗?

<?php

   $data = array('loginuser' => 'user', 'loginpassword' => 'pass', 'loginschool' => 'krr');

   // use key 'http' even if you send the request to https://...
   $options = array(
      'http' => array(
          'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
          'method'  => 'POST',
          'content' => http_build_query($data),
       ),
    );
   $context  = stream_context_create($options);
   $result = stream_get_contents($url);
   echo $result;


   $dom = new DOMDocument();
   $dom->loadHTML('https://intranet.tam.ch/krr/external/index/act/tt_oneclassNew');

   $xpath = new DOMXPath($dom);
   $iframe = $xpath->query('//body//iframe');
   foreach ($iframe as $frame) {
      var_dump(trim($frame->nodeName));
      echo 'lol';
   }
   echo 'lulz';
?>

顺便说一下。我也在iOS上做同样的事情。 allow_url_open已启用。我也试过卷曲的方式。不起作用。

1 个答案:

答案 0 :(得分:0)

与其他人提到的一样......示例中缺少$url。除此之外,您没有使用您创建的流。

$context  = stream_context_create($options);
$fp = fopen($url, 'rb', false, $context);
$result = stream_get_contents($fp);

echo $result;

使用file_get_contents

$result = file_get_contents($url, false, $context);

echo $result;