Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Curl 方法抓取页面时出现的有关问题

Curl 方法抓取页面时出现的有关问题

WBOY
WBOYasal
2016-06-13 12:05:03900semak imbas

Curl 方法抓取页面时出现的问题,
    前不久做了个成绩查询的代理系统,用curl方法模拟登录学校的教务系统(ASP写的,并且写的非常烂),进行抓取信息内容,再将内容进行展现。
    之后学校的教务系统换新的了,是用JSP写的,添加了验证码这个功能,然后我获取到验证码,进行输入,然后用curl方法提交HTTP请求,可是抓取到的结果返回的都是“数据库忙请稍候再试”,而我把URL打出来,直接输到地址栏是可以进入教务系统的;并且我用POSTMAN发生HTTP请求,GET、POST方法都能进入系统,唯独用PHP的CURL方法会出现“数据库忙”。。后来用ruby写了一段类似的代码,是用net:http的方法,同样也出了“数据库忙请稍后再试”,同样把URL复制到地址栏也能进入。。不知道问题所在。。求助。。
   下面上图。。
   

	echo $url.'<br>';<br />	$ch = curl_init($url); <br />	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); <br />	$content = curl_exec($ch); <br />	curl_close($ch);<br />	echo $content;

代码没有加任何的其他setopt。。求大神指点指点。。是什么问题。。
------解决方案--------------------
是有點奇怪,估計是header有些不同的。
------解决方案--------------------
1、他有验证码,你是如何处理的
2、他有 cookie,也没看到你是如何处理的
------解决方案--------------------

引用:
Quote: 引用:

抓的包贴出来看看。






以上是登录成功的请求头


这是我模拟的请求头。。


只看了你的url有验证码的参数,没有看到Cookie的处理,尝试在curl中添加cookie的相关参数。
------解决方案--------------------
要有curl的cookejar,和set opt header,网上搜搜这两个的用法应该就能够出结果了
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn