我正在尝试向网站发送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已启用。我也试过卷曲的方式。不起作用。
答案 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;