卷曲得到源代码GETparams
我想从该页面的源代码的html: http://bahn.ltur.com/index/search/?lang=de_DE&searchin=DE-SB-VI&trip_mode=trip_simple&from_spar=Hamburg+Dammtor&to_spar=Leipzig+Hbf&start_datum=01.07.2012&start_time=23%3A49&end_datum=01.07.2012&end_time=23%3A51&SEA_adults=1&trainclass_spar=2卷曲得到源代码GETparams
当我去那个网址我可以访问该网站。我无法通过curl获取源代码。不是在bash中“curl -iL url> site.html”也不是用那个php脚本: 我得到了首页(bahn.ltur.com)。
代码发送GET请求
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://bahn.ltur.com/index/search/?lang=de_DE&searchin=DE-SB-VI&trip_mode=trip_simple&from_spar=Hamburg+Dammtor&to_spar=Leipzig+Hbf&start_datum=01.07.2012&start_time=23%3A49&end_datum=01.07.2012&end_time=23%3A51&SEA_adults=1&trainclass_spar=2');
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_exec($ch);
我也试图post数据发送到特定的页面 - 但没有运气。 窗体在该页面上: http://bahn.ltur.com/ 与[012]当您点击'搜索'时,您会看到上面的网址(blah/index/search /?params [...])很短的时间。
有帮助吗?
///////编辑:
///////答:
第一:获得饼干从一个页面(W/GET-PARAMS) 二:去的细节页面并发送cookie。
感谢@丹尼尔Stenberg的提示!给他一些声望!
/* get cookie */
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://bahn.ltur.com/index/search/?lang=de_DE&searchin=DE-SB-VI&trip_mode=trip_simple&from_spar=Hamburg+Dammtor&to_spar=Leipzig+Hbf&start_datum=01.07.2012&start_time=23%3A49&end_datum=01.07.2012&end_time=23%3A51&SEA_adults=1&trainclass_spar=2');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile);
$html = curl_exec($ch);
/* get page */
$ch = curl_init("http://bahn.ltur.com/details");
curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
echo $html;
curl_close($ch);
您是否尝试过加入:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$html = curl_exec($ch);
没有第一个选项,卷曲只会输出不管它取。而对于严格的“善”,你应该从curl_exec以及检查返回值:
if ($html === false) {
die("Curl error: " . curl_error($ch));
}
尝试增加在您,下列curl代码
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
的SSL_VERIFYER部分意味着它不要注意它是否没有SSL证书。
嘿!谢谢你的回答,但是这并没有帮助:( – meeeeeh
谢谢你,但仍然没有成功。没有错误,我仍然可以进入'主页'页面。 – meeeeeh