[請益] file_get_contents抓google的神奇錯誤

看板PHP作者 (UART)時間16年前 (2010/02/19 00:23), 編輯推噓7(7016)
留言23則, 8人參與, 最新討論串1/1
我透過一些演算,讓 echo $forward; 的結果是 search?hl=en&ie=UTF-8&q=world+site:yahoo.com&start=10&sa=N 但是這樣 file_get_contents("http://www.google.com/".$forward); 的結果和直接輸入 file_get_contents ("http://www.google.com/search?hl=en&ie=UTF-8&q=world+site:yahoo.com&start=10&sa=N") 的結果不一樣 真的很神奇 明明傳到file_get_contents的東西是一樣的,google會傳兩個不同東西給我? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.110.121

02/19 00:53, , 1F
有比對字串是不是一樣嗎?
02/19 00:53, 1F

02/19 01:47, , 2F
你得偽裝refer吧~
02/19 01:47, 2F

02/19 01:58, , 3F
偽裝refer是什麼意思?
02/19 01:58, 3F

02/19 02:38, , 4F
嗯,修改一下 user_agent ~
02/19 02:38, 4F

02/19 02:54, , 5F
ini_set('user_agent', 'Mozilla/4.0 (compatible; MSI
02/19 02:54, 5F

02/19 02:54, , 6F
E 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET
02/19 02:54, 6F

02/19 02:54, , 7F
CLR 1.1.4322)');
02/19 02:54, 7F

02/19 02:55, , 8F
如此一來讓你的 file_get_contents 就像 mozilla 一樣~
02/19 02:55, 8F

02/19 02:58, , 9F
echo $_SERVER['HTTP_USER_AGENT']; //用這驗證看看
02/19 02:58, 9F

02/19 07:33, , 10F
樓上是不是回錯了@@?原PO是說都用 file_get_contents
02/19 07:33, 10F

02/19 22:25, , 11F
比對一下字串吧 看有沒有多餘空白之類的
02/19 22:25, 11F

02/20 02:45, , 12F
google的問題吧
02/20 02:45, 12F

02/20 02:49, , 13F
echo f_g_c("google".$f)==f_g_c("google".$f)?1:0;印出0
02/20 02:49, 13F

02/21 01:19, , 14F
樓上大大的判別式是什麼意思呢? 左右邊不是一樣的文字嗎?
02/21 01:19, 14F

02/21 13:13, , 15F
他的意思是,重複兩次同樣的request
02/21 13:13, 15F

02/21 13:13, , 16F
google會回傳不一樣的文字
02/21 13:13, 16F

02/22 02:01, , 17F
我echo出來的字看起來是一模一樣的
02/22 02:01, 17F

02/22 02:02, , 18F
但是strlen不一樣 strcmp也不一樣 太神奇了吧!?
02/22 02:02, 18F

02/22 02:11, , 19F
直接貼上網址的strlen結果和字串長度一樣
02/22 02:11, 19F

02/22 02:12, , 20F
但是拼接出來的網址和實際echo出來的字串的strlen不同
02/22 02:12, 20F

02/22 15:24, , 21F
試試 htmlspecialchars_decode($forward)
02/22 15:24, 21F

02/25 01:18, , 22F
謝謝大家!!我搞定了!!&變&的原因
02/25 01:18, 22F

02/25 01:36, , 23F
debug請打開原始碼看..
02/25 01:36, 23F
文章代碼(AID): #1BVMboWJ (PHP)
文章代碼(AID): #1BVMboWJ (PHP)