使用php中的curl从网站获取特定请求的响应?

时间:2013-06-06 08:46:35

标签: php curl libcurl

任何人都可以告诉我如何: 用户提供来源,目的地和日期并请求availbale列车? 所以这是我要对erail.in网站提出的要求..

如何从该网站获得回复并将其显示在我的网页中.. 在php中使用cURL .. 请提前帮助我... thanx ..

我是这些东西的新手。我想学习并且还提供一些链接......如何继续进行以及我可以用卷曲做些什么..

我试过这样的事情..

$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;
?>

但是这会直接显示整个网页...... 请帮助我,我必须学习这个...而且我什么都没得到。

2 个答案:

答案 0 :(得分: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

应该负责任地进行刮擦,以免服务器过载。最好的政策是与公司沟通您想做的事情。

答案 1 :(得分:0)

你无法从erail.in获取详细信息,因为erail.in不提供任何API工具。但IRCTC提供API来获取列车细节,但这不是免费的。