【问题标题】:getting results from a site using curl使用 curl 从站点获取结果
【发布时间】:2011-01-24 02:07:19
【问题描述】:

我一直在尝试使用 POST 方法将一些变量发布到站点,使用 curl 来获得一些结果。我将发布到此链接。

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

在此页面上,您将看到一个下拉菜单 .. onchange 一些值以“黄色”彩色表格返回。

我已监视此站点并尝试通过向该链接发出发布请求来获得这些结果。但是,我收到“Bad Header”错误。我已经尝试改变一些东西,但无法找到解决方案。

这是我的代码:


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

【问题讨论】:

  • 你到底在哪里得到了什么错误?请发布确切信息
  • 我没想到 Roads And Street Traffic Rasta.pk 中的一个意识 :)
  • @Trufa 啊哈哈哈!这一定是有史以来最好的缩写词之一。
  • RASTA 是乌尔都语单词,意思是“方式”:) 谢谢

标签: php curl libcurl


【解决方案1】:

提供的细节太少,我们无法确定。

一个猜测是你在做错误的帖子,因为当你将一个哈希数组传递给 CURLOPT_POSTFIELDS 时,它会做一个多部分的表单,这可能不是服务器所期望的。传入一个字符串,而不是进行“正常”的 POST。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多