2013-06-06 47 views
0

任何人都可以告訴我如何: 用戶給源,目的地和日期,並要求availbale列車? 所以這是我想對erail.in網站請求..使用curl在PHP中獲取網站對特定請求的響應?

我怎樣才能從該站點響應,並在PHP中使用捲曲在我的網頁上顯示吧.. .. 請幫助我.. .thanx提前..

我是新來這個stuff..I要學習,還提供我一些links..how繼續進行,我什麼都可以做,捲曲..

我已經嘗試過這樣..

$params=array(
    'txtStationFrom'=>'SC', 
    'txtStationTo'=>'MAS', 
    'adate'=>'26-6-2013' 
); 

$curl=curl_init(); 
curl_setopt($curl, CURLOPT_URL, "www.erail.in"); 
curl_setopt($curl, CURLOPT_HEADER, 0); 
curl_setopt($curl, CURLOPT_POST, TRUE); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $params); 

curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 

$result=curl_exec($curl); 

print $result; 
?> 

但是,這直接顯示整個網頁... 請幫助我我必須學習這個..我沒有得到任何東西..

+1

cURL已經完成了讓你獲得頁面源代碼的工作。現在,您需要解析源代碼(例如使用DOMDocument)並拉出火車時間。 http://php.net/manual/en/class.domdocument.php – MrCode

+0

它顯示的主頁不是預期的頁面,即不顯示頁面以及可用列車。 – user2458719

回答

0

你無法從erail.in得到的細節,因爲erail.in做不提供任何API設施。但IRCTC提供API來獲取列車詳細信息,但它不是免費的。

+0

他們不提供API。所以,經過很長時間的搜索後,我發現curl和HttpWebRequest/HttpWebresponse可以幫助我們獲得特定請求的響應或類似的結果..我不確定.. – user2458719

1

這個特定的站點是用JavaScript動態加載數據,並且數據主要返回成一堆數字和代碼。爲了刮掉它,你必須弄清楚如何正確地形成每個請求的URL。

這裏的數據樣本返回:

Central~BCT~16.30~08.35~16.05~1111111~~~~~~~~1110000000~~~~~~~~~~~RAJDHANI~9012~2~1~0~2013-06-06~2018-06-07~1384~86~RAJDHANI:1384:4065,2250,2615,0,2250,0:2395,1345,1555,415,1345,0:1725,1005,1150,365,1005,0:0,0,0,0,0,0:0,0,0,0,0,0:0,0,0,0,0,0:0,0,0,0,0,0:0,0,0,0,0,0:0,30,0,0,0,0~0~0~~60~1~2952~Composition of Train: 1A-1,2A-4,3A-9,PC-2 

刮痧應該負責任地做,以免超負荷的服務器。最好的政策是與公司溝通你想做什麼。

+0

你是如何得到這些數據的?提供代碼,你的意思是我不能繼續我的項目..我不能根據用戶的來源,目的地和日期的規範從該網站獲取數據...? – user2458719

+0

Fiddler是一個免費的應用程序,顯示您的瀏覽器正在進行的HTTP請求和收到的請求。在短短几分鐘內,我就可以訪問一個帶有數據的頁面,通過Fiddler,我可以看到URL和返回的數據。 –

+0

就代碼而言,一旦你有了一個合適的URL,你可以像使用cURL一樣使用它,但是使它成爲GET請求而不是POST。至於你想如何繼續你的拼搶,那是你自己決定的。 –

相關問題