2011-01-24 323 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程序儘可能地模仿該操作。