Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP Curl重定向到我的学校门户_Php_Curl - Fatal编程技术网

使用PHP Curl重定向到我的学校门户

使用PHP Curl重定向到我的学校门户,php,curl,Php,Curl,我正在尝试使用PHP Curl连接到学校的门户,但没有成功,因为它似乎重定向到了某些页面。我正在制作一个webapp,用于在jQuery mobile中显示学校时间表,但为了显示您自己的时间表,您需要登录并从那里转到您的时间表。这就是我打算在PHP中使用CURL实现的目标 我使用了教程中的链接,但是我找不到应该使用哪个链接重定向到我的学校门户 如果有人知道要使用哪个URL需要遵循哪些步骤,这将非常有帮助 我使用的代码是: <?php function getLastEffectiveUrl

我正在尝试使用PHP Curl连接到学校的门户,但没有成功,因为它似乎重定向到了某些页面。我正在制作一个webapp,用于在jQuery mobile中显示学校时间表,但为了显示您自己的时间表,您需要登录并从那里转到您的时间表。这就是我打算在PHP中使用CURL实现的目标

我使用了教程中的链接,但是我找不到应该使用哪个链接重定向到我的学校门户

如果有人知道要使用哪个URL需要遵循哪些步骤,这将非常有帮助

我使用的代码是:

<?php function getLastEffectiveUrl($url)
    {
         // initialize cURL
         $curl = curl_init($url);
         curl_setopt_array($curl, array(
         CURLOPT_RETURNTRANSFER => true,
         CURLOPT_FOLLOWLOCATION => true,
    ));

    // execute the request
    $result = curl_exec($curl);

    // fail if the request was not successful
    if ($result === false) {
        curl_close($curl);
        return null;
}

          // extract the target url
          $redirectUrl = curl_getinfo($curl, CURLINFO_EFFECTIVE_URL);
          curl_close($curl);

          return $redirectUrl;
    }

    $lastEffectiveUrl = getLastEffectiveUrl('https://login.hhs.nl');
    echo $lastEffectiveUrl . "-";
?>

同样,这是我从Codeaid中学习的一个教程,我自己做这个并没有任何功劳


“我的学校”页面的链接是https://portal.hhs.nl,你可以看到,如果你去那里,它会将我重定向到另一个页面。

你想做的几乎是不可能的。。。他们使用多种方法和安全令牌应用了多种重定向。。。让我解释一下:

乍一看,我以为我被header()重定向了,但当我使用时,图片变得更清晰了:

1)打开时,一些元标记会重定向您

<META name="verify-v1" content="Yh6PvgPdX64Vdo9akXqTvstTouu9uQcvrPpFaL9jqZs=" />
<META name="verify-v1" content="eiUD3J3OcF6SjBKGe5ZvkMTzVEJ9rnpr1NaCKV9OIKw=" />
<meta name="google-site-verification" content="Ka0UPoAllNqYvbuviJCk8iV64YfqfWbX6G1APHdY5tg" />
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<META content="0; URL=http://portal.hhs.nl/portal/pls/portal/PORTAL.home" http-equiv=Refresh>

所以你必须解析那些元标记,并重定向。。。这是你怎么做的

2)由于某些原因,当使用篡改数据重定向时,我无法“打开”数据,因此您必须对此步骤进行一些研究

3)还有另一种“重定向”技术,使用JavaScript!!!


只需解析这些内容并使用这些POST值重定向到

4) 最后,我们讨论了我们实际输入凭证的位置,以及您还应该解析数据并将其和凭证一起发送的位置。在这一步之后,只有您知道门户后面的内容

结论:这些安全措施清楚地表明,他们想阻止一些像我们这样的自动化儿童,如果有一天这些步骤被改变了怎么办?我的建议是向学校索取一些API,我知道荷兰的一些学校使用API,他们有一个很棒的API,可以返回一些JSON数据

如果您坚持或无法获得API,那么请准备好进行一些艰苦的工作


Veel成功了(祝你好运)

这段代码看起来不错,你在这段代码中遇到了什么问题?它重定向给你的页面有什么要说的吗?也许实际登录页面就是它将您重定向到的位置?或者他们会主动尝试停止自动连接尝试?谢谢你的回复,它自己的代码工作得非常完美。问题是我找不到应该使用哪个链接来获取内容。我想这是因为它每次都用不同的url重定向,但我不知道如何验证它。如何检查它是否主动尝试停止自动连接尝试?非常感谢。。你解释得很清楚:)现在我不必一直这样做。。我想我会问学校的VOR或API,但我想他们不会给我,也不会给我。。我会保持原样,只使用学校的永久链接。。我认为这种情况每10周改变一次。。我将尝试另一种方法。。如果我有一个,我会把它贴在这里:)非常感谢你的努力和清晰的解释。。
<FORM NAME="SingleSignOn" METHOD="POST" ACTION="https://aselect.hhs.nl/aselectserver/server" >
<INPUT TYPE="HIDDEN" NAME="request" VALUE="direct_login1" >
<INPUT TYPE="HIDDEN" NAME="rid" VALUE="C741680139CA153E" >
<INPUT TYPE="HIDDEN" NAME="a-select-server" VALUE="aselectserver1" >
</FORM>
</BODY>