一、定义Cookie存储路径
必须使用绝对路径
1 |
<span style="line-height:1.8;color:#800080;">$cookie_jar</span> = <span style="line-height:1.8;color:#008080;">dirname</span>(<span style="line-height:1.8;color:#FF00FF;">__FILE__</span>)."/pic.cookie"; |
二、获取Cookie
将cookie存入文件
1 2 3 4 5 6 |
<span style="line-height:1.8;color:#800080;">$url</span> = "http://1.2.3.4/"<span style="line-height:1.8;">; </span><span style="line-height:1.8;color:#800080;">$ch</span> =<span style="line-height:1.8;"> curl_init(); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_URL, <span style="line-height:1.8;color:#800080;">$url</span><span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_HEADER, 0<span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_RETURNTRANSFER, <span style="line-height:1.8;color:#0000FF;">true</span><span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_COOKIEJAR, <span style="line-height:1.8;color:#800080;">$cookie_jar</span><span style="line-height:1.8;">); </span><span style="line-height:1.8;color:#800080;">$content</span> = curl_exec(<span style="line-height:1.8;color:#800080;">$ch</span><span style="line-height:1.8;">); curl_close(</span><span style="line-height:1.8;color:#800080;">$ch</span>); |
三、模拟浏览器获取验证码
该服务器验证码有漏洞,可以自己指定
取出cookie,一起提交给服务器,让服务器以为是浏览器打开登陆页面
1 2 3 4 5 6 |
<span style="line-height:1.8;color:#800080;">$ch</span> =<span style="line-height:1.8;"> curl_init(); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_URL, 'http://1.2.3.4/getCheckpic.action?rand=6836.185874812305'<span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_COOKIEFILE, <span style="line-height:1.8;color:#800080;">$cookie_jar</span><span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_HEADER, 0<span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_RETURNTRANSFER, 1<span style="line-height:1.8;">); </span><span style="line-height:1.8;color:#800080;">$ret</span> = curl_exec(<span style="line-height:1.8;color:#800080;">$ch</span><span style="line-height:1.8;">); curl_close(</span><span style="line-height:1.8;color:#800080;">$ch</span>); |
四、POST提交
1 2 3 4 5 6 7 |
<span style="line-height:1.8;color:#800080;">$post</span> = "name=2&userType=1&passwd=asdf&loginType=1&rand=6836&imageField.x=25&imageField.y=7"<span style="line-height:1.8;">; </span><span style="line-height:1.8;color:#800080;">$ch</span> =<span style="line-height:1.8;"> curl_init(); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_URL, "http://1.2.3.4/loginstudent.action"<span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_HEADER, <span style="line-height:1.8;color:#0000FF;">false</span><span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_RETURNTRANSFER,1<span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_POSTFIELDS, <span style="line-height:1.8;color:#800080;">$post</span><span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_COOKIEFILE, <span style="line-height:1.8;color:#800080;">$cookie_jar</span><span style="line-height:1.8;">); </span><span style="line-height:1.8;color:#800080;">$result</span>=curl_exec(<span style="line-height:1.8;color:#800080;">$ch</span><span style="line-height:1.8;">); curl_close(</span><span style="line-height:1.8;color:#800080;">$ch</span>); |
五、到指定页面获取数据
1 2 3 4 5 6 |
<span style="line-height:1.8;color:#800080;">$ch</span> =<span style="line-height:1.8;"> curl_init(); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_URL, "http://1.2.3.4/accountcardUser.action"<span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_HEADER, <span style="line-height:1.8;color:#0000FF;">false</span><span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_HEADER, 0<span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_RETURNTRANSFER,0<span style="line-height:1.8;">); curl_setopt(</span><span style="line-height:1.8;color:#800080;">$ch</span>, CURLOPT_COOKIEFILE, <span style="line-height:1.8;color:#800080;">$cookie_jar</span><span style="line-height:1.8;">); </span><span style="line-height:1.8;color:#800080;">$html</span>=curl_exec(<span style="line-height:1.8;color:#800080;">$ch</span><span style="line-height:1.8;">); </span><span style="line-height:1.8;color:#008000;">//</span><span style="line-height:1.8;color:#008000;"> var_dump($html);</span> curl_close(<span style="line-height:1.8;color:#800080;">$ch</span>); |