PHP基于curl实现后台远程登录正方教务系统的方法
这篇文章主要介绍了PHP基于curl后台远程登录正方教务系统的方法,结合实例形式分析了php使用curl及cookie实现远程登陆的操作技巧,需要的朋友可以参考下
本文实例讲述了PHP基于curl后台远程登录正方教务系统的方法。分享给大家供大家参考,具体如下:
从去年想这个事情怎么解决,今年终于算是把他搞清楚了,但验证码必须要填。
如果你能像360抢票哪有自动识别验证码,那就没事了。废话不多扯了。回归正题
这里要用CURL。
设计思路:先登录页面获取COOKIES,然后拿着cookies找服务器要验证码。最后提供服务器需要的全部信息。
(这种思维是完全模拟游览器访问页面,根本区别出来是人还机器)
public function index(){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //填对于的URL就可以了 curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); //主要cookie的路径,本保存页面cookie curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //返回结果自动输出 $response = curl_exec($ch); curl_close($ch); }
访问正方教务系统的首页,第一获取页面中的HTML,第二是获取cookies。
其他的就想问?获取HTML有啥用?
如果你细心观察教务系统首页的HTML的话,你会发现里面有很多隐藏字段,而这些字段又是变化的。
所以你干脆把HTML都获取然后解析,然后把需要的字段都桃出来
HTML结构
看到没有,那么的隐藏字段,都是提交数据的必须,而且不能多。
页面效果
接下来我要将一个最重要的问题,怎么获取验证码?
开始我想直接
<img src="xxxx/CheckCode.aspx" />
不就行了?这样验证码虽然是出来,但这个验证码不属于你,所以在你存远程登录时候,都会告诉你,验证码错误
那怎么获取属于自己的验证码呢?这时候,自然想到的是cookies。
服务器是怎么区分游览器请求是不是同一个人,就看cookies里面的sessionid了
这样。你拿着你在首页获取到的cookies,再找服务器要你的验证码,它会给错?
public function getImg() { $url = "http://xxxx/CheckCode.aspx"; $filedir = SITE_PATH."/TMP/Cookies"; $cookie_file = $filedir."/cookie.txt"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); // curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, "10"); header("Content-type:image/gif"); //这个视不同图片格式不一样,请注意 echo curl_exec($ch); curl_close($ch); }
然后再在其他页面调用这个方法,你就可以获取到验证码。
CURL的PHP请求跟你游览器发出的PHP属于两个不同的线程,所以,他们的cookies是不同共用的。
这样你就可以登录了,但不要以为这样登录了,你可以操作全部功能了,那你就想错了。还有一个很小的细节。。
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
Atas ialah kandungan terperinci PHP基于curl实现后台远程登录正方教务系统的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data
