百度空間 不接受Google.com(.tw)的referer
這一陣子從Google查資料遇到一個惱人的問題
只要是點到一些在百度空間(hi.baidu.com)的文章
全都跳回首頁(http://hi.baidu.com/index/)
一開始以為是該文章已經被刪除或者該作者帳號被停封
沒多想只好改看庫存頁面了
但是這個問題不斷的發生
剛剛測試發現,如果直接貼上網址進入卻可以正常瀏覽!
馬上就想到了應該是referer的問題
就利用這個機會來簡單示範一下C++Builder中使用Indy HTTP的方法
首先建立一個VCL Form Application(請參考C++Builder 教學:建立第一個視窗應用程式)
在Form1上加入2個TButton、2個TEdit、3個TLabel和一個TIdHTTP(位於Indy Clients分類)
配置如圖
記得IdHTTP1的HandleRedirect設定為True,這個步驟很重要!
加入Button1和Button2的OnClick事件
|
編譯後執行看看結果...
果不其然,和預料中的一樣
原來進到百度空間的referer只要是www.google.com或www.google.com.tw
就會被302 Redirect到/index
真是...好邪惡啊!
你也可以將Referer設成Yahoo、Bing等其他搜尋引擎看看結果如何
目前只有測那兩組黑名單會這樣就是了
柯P怎麼說?