有些網頁
可能不是簡單的對他要求網址就會把他的網頁傳回來給你
雖然大多是這樣~
但有些網頁是要透過post傳資料後才回傳結果給你
如果想透過程式去抓取這些資料
則要模擬你發送這些資訊給對方server, 對方再回傳東西
如果用PHP可能可以用Peal的HTTP_Request2或是curl做到
但還有一種少數情況.....
不是假裝發post資料給對方server他就認你
我就遇到這問題.......
他還會看你是從哪裡來的
再看要不要傳資料給你
今天解決這問題也是我透過firebug監看網頁上操作時發送的資訊
才發現可以再嘗試多傳送這些參數給server看他認不認得出是正常使用者去瀏覽她的網頁
多次嘗試終於........我找到要多傳哪個關鍵參數給server
他才真的以為我是正常管道去讀取這網頁
我也是搞好久才發現到這個.....
就是Request Headers那一排
這邊firebug很清楚明瞭的列出傳了那些header過去
於是我才想到......可以不只傳post還可以傳假的header資訊給他試試看
過程我試了改 Agent, cookie, host, Referer
試到Referer
才成功............
因為不知道怎麼傳這些header參數所以也是一直google找資料= =
最後弄出來真的......好家在0rz
這邊我是用curl做的
才發現php的curl真的很強大,還可以亂真的XD
curl_setopt($ch, CURLOPT_REFERER, 'http://www.xxxxx.com.tw/ggggggxxxx');
這段code就是傳header跟server說我是從哪裡來的
如果沒傳, 他就以為你亂搞
可是有傳~~~~他就覺得你是正常人~~~~才回傳資料給你
沒有留言:
發佈留言