加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 22:46:05 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用 PHP Curl连接到我学校的门户网站,但没有运气,因为它似乎重定向到某些页面.我正在制作一个webapp,用于显示jQuery mobile中的学校日程安排,但为了显示您自己的日程安排,您需要登录并从那里查看您的日程安排.这是我打算用PHP使用CURL实现的. 我
我正在尝试使用 PHP Curl连接到我学校的门户网站,但没有运气,因为它似乎重定向到某些页面.我正在制作一个webapp,用于显示jQuery mobile中的学校日程安排,但为了显示您自己的日程安排,您需要登录并从那里查看您的日程安排.这是我打算用PHP使用CURL实现的.

我使用了http://codeaid.net/php/get-the-last-effective-url-from-a-series-of-redirects-for-the-given-url中的教程,它与给定的链接一起工作,但我找不到我应该使用哪个链接重定向到我的学校门户网站.

如果有人知道应该遵循哪些步骤来了解您必须使用哪个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()重定向,但是当我使用Tamper Data时,图片变得更加清晰:

1)当您打开https://portal.hhs.nl时,您将被某些元标记重定向

<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>

所以你必须解析那些元标记,并重定向……这就是你如何做到这一点PHP: Can CURL follow meta redirects

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

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

<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>

只需解析那些并使用那些POST值重定向到https://aselect.hhs.nl/aselectserver/server ……

4)最后我们在https://aselect.hhs.nl/aselectserver/server,我们实际输入我们的凭据,你还应该在哪里解析数据并用凭证发送它.在此步骤之后,您才知道门户网站背后的内容……

结论:这些安全措施表明他们想要阻止像我们这样的自动化小孩,如果有一天这些步骤被改变了怎么办?我建议要求学校提供一些API,我知道荷兰的一些学校使用Untis并且他们有一个很棒的API可以返回一些JSON数据!

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

Veel成功(祝你好运)!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读