【发布时间】:2012-03-14 10:29:57
【问题描述】:
我想发出一个 POST 请求以从该页面获取列车号的时间表:http://www.indianrail.gov.in/train_Schedule.html
我正在使用此代码,但它不起作用。产生的错误如下面的附件所示。 可能是什么问题?
PS:我在 $data 中使用 Firebug 获得了 cgi 路径和参数
$data = array('lccp_trnname' => '14553', 'getIt' => 'Get Schedule');
$ch = curl_init();
$useragent= "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1";
curl_setopt($ch, CURLOPT_USERAGENT, $useragent); // set user agent
curl_setopt($ch, CURLOPT_URL, 'http://www.indianrail.gov.in/cgi_bin/inet_trnnum_cgi.cgi');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$txResult = curl_exec($ch);
print "$txResult\n";
:
【问题讨论】:
-
indianrail.gov.in 在您的站点中使用是非法的。而且您的 URL 也是错误的。在 CHK ENV 中失败 0 错误出现
-
在您的代码中也添加了引用者 ("indianrail.gov.in/train_Schedule.html"),这似乎没有帮助。看不到任何遗漏的表单值......尽管他们已经采取了保护措施来阻止外部请求. 我建议找一个不同的(更开放的)数据源。
-
@Ing 知道了;请看下文。