当前位置: 首页 > 知识库问答 >
问题:

使用file_get_contents时输出不同

阳光辉
2023-03-14

我试图使用PHP的file_get_contents()获取以下URL的内容,但是输出与使用我的浏览器时不同。我尝试设置一个用户代理,但没有成功,我还尝试完全模拟浏览器执行的HTTP请求,但没有成功。有人知道什么能使它工作吗?使用PHP时,我会进入登录表单,但通过浏览器打开时,它只会打开计划:

网址如下:

https://webuntis.a12.nl/WebUntis/Timetable.do?type=1

共有1个答案

谭泉
2023-03-14

您试图访问的URI似乎需要身份验证。因此,如果您希望PHP为您发出请求,您需要在PHP中实现该身份验证过程。

这可以通过两种方式之一实现。首先,使用PHP内置的HTTP流包装器,在我看来,这非常容易使用。另一种是使用卷发刀,可以是瑞士军刀的一种。因此,您可能会有点不知所措,但从表面上看,这两种选择都应该是相当微不足道的。

您需要将post请求发送到该页面表单中的action属性,然后从响应中,您必须从$\u cookie superglobal中提取cookie,并将其与后续每个请求一起发送。我在这里链接的手册中有一些例子。

 类似资料:
  • 问题内容: 我正在使用file_get_contents()访问URL。 如果URL不是真实的,它将返回此错误消息。我如何才能使其优雅地出错,以便使我知道该页面不存在并采取相应措施而不显示此错误消息? 例如在zend中,您可以说: 问题答案: 您需要检查HTTP响应代码:

  • 问题内容: 我正在使用jmh 使用maven并按照http://openjdk.java.net/projects/code- tools中 建议的命令行方法对一个简单的应用程序进行基准测试。成功设置并建立基准后,我可以使用avgt模式获得以下基准结果: 我不确定如何解释此输出,但我确定某些地方出了错…?知道什么或如何调试吗? 问题答案: JMH输出使用扩展的Unicode字符。特别是, ?10

  • 有时当gdb输出信息较多时,gdb会暂停输出,并会打印“---Type <return> to continue, or q <return> to quit---”这样的提示信息,如下面所示: 81 process 2639102 0xff04af84 in __lwp_park () from /usr/lib/libc.so.1 80 process 2573566

  • 问题内容: PHP手册上的示例显示了如何使用流上下文发送cookie。这是摘录: 您如何发送多个cookie?像#1或#2,还是什么? #1 #2 问题答案: #3

  • 问题内容: 如何显示在PHP中使用file_get_contents检索到的图像? 我需要修改标题并仅回显它吗? 谢谢! 问题答案: 我需要修改标题并仅回显它吗? 究竟。 之后发送和数据。