百度空間 不接受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怎麼說?