urlencode

[想做课表]以前想做一个学校的课表查询系统,通过小偷方式抓取学校教务处网站上的课表,可一直没有成功。现在,又开学了,看了看以前的代码,重新写了一遍,还是不行,怎么回事呢?

[原理]PHP并没有提供发出http请求的功能,只能使用cURL或用fsockopen模拟http请求。学校教务处的课表查询系统使用.NET写的,里面有一些验证机制,比如隐藏的__VIEWSTATE。

[郁闷]我将这些隐藏数据和其他的表单里的数据一起用fsockopen发送,得到的结果却是“此页的状态信息无效,可能已损坏”。上次也是遇到这样的问题,有同学用asp.net做却很正常。

[解决]上网查了别人写的一些代码,发现别人都会用对POST数据进行url编码,恍然大悟,修改自己的代码后,结果正常。

[总结]看来自己对http协议还是很不熟悉,以前就一直怀疑POST的数据有问题,就是没想到还要编码。学习学习……

urlencode》有8个想法

  1. allen

    请教下楼主,我想用linux下的curl命令来实现表单提交并抓取返回页面,能否给指点下?

    回复

回复 allen 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据