2011-01-24 322 views
0

我一直在尝试使用POST方法将一些变量发布到网站,使用curl来获得一些结果。我张贴到这个链接。使用curl从网站获取结果

http://www.rasta.pk/Lhr/Lhr_Traffic.aspx

在这个页面,你会看到一个下拉菜单..平变化的一些值在“黄”色的表中返回。

我已经监控了这个网站,并试图通过向该链接发送一个帖子请求来获得这些结果。但是,我收到“错误标题”错误。我试图改变的事情,但可以找到解决方案。

这里是我的代码:


"Canal Bank Rd", 
     "ScriptManager1 " => "UpdatePanelDDLRoads|DropDownRoads", 
     "__EVENTARGUMENT" => "", 
     "__EVENTTARGET" => "DropDownRoads" 
    ); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headerz); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 
    curl_setopt($ch, CURLOPT_REFERER, "http://www.rasta.pk/Lhr/Lhr_Traffic.aspx"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $output = curl_exec($ch); 
    curl_close($ch); 
    echo $output; 
    ?> 
+0

你到底在哪里发生了什么错误?请发布确切信息 – 2011-01-24 02:08:07

回答

0

有太多的小细节提出了我们肯定知道。

一个猜测是你做错了一种职位,因为当你将一个哈希数组传递给CURLOPT_POSTFIELDS时,它会做一个多部分的formpost,这可能不是服务器期望的。传递一个字符串,而不是进行“正常”POST。

如果这还不够,请在浏览器中使用LiveHTTPHeaders或类似工具来确定在“手动”会话中发送的内容,然后确保curl程序尽可能地模仿该操作。