0

对于我的学校,我们必须做这些“咨询课”,告诉你关于大学等。完成课程后,我想知道我是否能够使用来自带有 cURL 的 PHP 脚本的一组请求来复制相同的过程.

我再次完成了这节课,这次是打开 Firebug 和一个 HTTP Analyzer。

令我惊讶的是,唯一的 GET 请求是在整个课程中发出的。

如果您好奇,这里是“课程”窗口的样子。这是一种幻灯片类型的东西,你阅读幻灯片,然后一些幻灯片上有问题。最后,有一个测验,如果你不通过它,这个课程就不算数。

我的问题是:如果我要设置一个登录到我的帐户的 PHP/cURL 脚本,然后发出这些请求中的每一个,那么这节课是否算完整?

现在显然你们不可能知道他们的服务器是如何工作的等等......

我想我要说的是,是否有任何隐藏的内容或字段可以通过 GET 请求传递?课程窗口似乎没有将足够的信息传递给服务器,以便它知道课程是否完成。

非常感谢您对我的项目的任何建议和提示!

编辑:这是我的官方测试运行(请不要做太多次):

正如你们中的许多人暗示的那样,它没有用....但我仍然不完全确定为什么。

4

4 回答 4

0

就像你说的,我们不能谈论他们服务器的细节,但是只有因为服务器可以使用 cookie 并在服务器上存储状态(与这些 cookie 相关联),可以使用 GET 请求来做这些事情。

这可能看起来像是将额外的隐藏信息传递给服务器。

您可以研究 cookie,甚至jsessionid是出现在其 URL 中的东西。顺便说一句,他们至少使用了一些 Java。:)

于 2012-07-25T07:33:36.923 回答
0

课程应用程序很可能将数据存储在会话或其他一些持久性数据存储服务器端,并在需要时使用浏览器中的令牌(通常是 cookie 或 GET 参数)来查找该数据。

于 2012-07-25T07:33:40.590 回答
0

这是一个有点复杂的任务。仅使用 cURL 无法模拟 javascript 代码、AJAX 请求等的执行

于 2012-07-25T07:40:39.517 回答
0

我不确定您要做什么。因为 HTTP 是无状态协议,这意味着服务器获取请求并对特定请求做出响应(可能是 GET、POST 或其他任何内容,并且可能具有一些请求参数)。系统使用中的状态性通常是通过服务器创建会话并在客户端设置 cookie 以在以后的请求中传递会话 ID 来实现的。会话 ID 用于识别客户端并跟踪他的会话。您在请求期间发送的所有内容都是纯文本。您最有可能得到的响应取决于会话状态,也将是纯文本。关于客户端,客户端没有任何隐藏的东西。您只是不知道哪些信息服务器保持在会话中,以及如何根据该信息处理请求以及您在请求期间提供的信息。

于 2012-07-25T07:52:38.493 回答