相关问题:Set session to scrape page使用curl接收和发送的cookie,但没有得到预期的响应
作为一个个人项目,我想我刮大学的课程目录提供它作为一个RESTful API。
URL1:https://duapp3.drexel.edu/webtms_du/
URL2:https://duapp3.drexel.edu/webtms_du/Colleges.asp?Term=201125&univ=DREX
要URL1设置这是需要URL2的cookie。我成功地接收和发送的cookie这样的:
curl -c recd url1
curl -v -b recd url2
然而,回应我从一个我在浏览器中看到不同。基本上,我的浏览器显示我的专业列表,而curl
得到一个页面,而不是专业的名单,它具有
<FONT COLOR=red size=5> The lists of subjects are not available online for the selected term at this time.</FONT><FONT COLOR=red size=5> Please check back again later.</FONT>
我想也许他们是检查用户代理,所以我想这是好:
curl -b recdcookies --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" https://duapp3.drexel.edu/webtms_du/Colleges.asp?Term=201125&univ=DREX
但同样意外的响应。
什么导致浏览器和curl之间的不同输出?据curl -v
显示,它只设置一个cookie。是否因为他们是https
页面,我需要为curl
添加另一个参数?
您是否在第二个请求中包含来自第一个请求的cookie? – 2012-01-06 12:04:28
@ nikc.org我是。最初当我不是,返回的页面有一个消息说'无效的论点......'。现在它返回,但没有课程列表,所以我认为饼干没有问题 – xbonez 2012-01-06 12:06:39
也许一个愚蠢的问题,但在命令行上,你把网址放在引号中?无引号(在后台运行)时,和号具有特殊含义。我可以很好地获得课程列表。 – 2012-01-06 12:09:29