2010-08-23 55 views
0

如果我打開這個.JS在瀏覽器文件(link text),我回去之後在瀏覽器窗口中:差異* .js文件帶捲曲打開,在瀏覽器中

var PHONE_CNT=2;var PHONE_CNT2=0;var PHONE_CNT3=0;var EMAIL_CNT=2;var SHOW_CNT=1795;var PH_c="";var PH_1=0;var PH_2=0;var PH_3=0; 
PH_1 = "JUQyJUFCJThDJUM5JThFJUQzJTgzeSVDMiVEQyVCQ2ElQkUlREQlQzglOUUlOTR6JUE2bSVCN3ElOUIlRTglQzQlQkYlODUlRDklQjIlQzglQjclQUE="; 

如果我打開使用捲曲相同的文件?或PHP(的file_get_contents),則內容的不同:

var PHONE_CNT=0;var PHONE_CNT2=0;var PHONE_CNT3=0;var EMAIL_CNT=0;var SHOW_CNT=1;var PH_c="";var PH_1=0;var PH_2=0;var PH_3=0; 
PH_1 = "JUQyJUFCJThDJUM5JThGJUMyJTg0JTlBJUJBJUM3JUJEdSVDMCVDRCVDOCVFNSU4RiU3RiVBNiVBOSVCOCU4MyU5MCVEOA=="; 

所不同的是PH_1值。 我試着爲cURL設置不同的選項,但沒有任何幫助。任何想法如何使用cURL獲取.JS文件內容與使用瀏覽器時所獲得的內容相同。

謝謝advace。

回答

0

Curl只是從服務器獲取數據,它不解釋javascript。如果你想從網頁解釋JavaScript,你必須使用一個JavaScript引擎作爲spidermonkey。

+0

不,我不想執行它,只是爲了看腳本的內容。 @ RUP的想法與wget幫助。 – 2010-08-23 10:07:26

2

服務器必須根據某些請求參數生成不同的PH1值。您必須從兩個請求中找出HTTP標頭以查看導致差異的原因,例如建立一個本地代理,如http://www.fiddler2.com/fiddler2/,並通過這兩個請求。

它可能是用戶代理的一些組合,接受標題,Cookie或IP地址或您所連接的國家/地區的差異 - 不知道服務器邏輯是什麼(或瞭解不同的PH1值意味着什麼)我們不能真正幫助你對不起。

+0

的確,必須要處理請求參數,我嘗試過的所有東西都會收到完全相同的數據。 PH1是Base64編碼的,url引用(WTF?)二進制的東西。 – 2010-08-23 09:24:12

+0

是的,我的意思是說,我曾嘗試過使用瀏覽器和wget與不同的用戶代理字符串,並獲得他的第一個結果。 – Rup 2010-08-23 09:28:13

+0

非常感謝Rup。 wget是很好的解決方案。 – 2010-08-23 10:06:28