2011-06-13 32 views
0

我需要一些幫助。提交表單到捲曲的外部網頁

我試圖做一個$ _POST到外部網頁的形式。 這個想法是下一個:

  • 用戶進入我的網頁。 www.caae.cl/encuesta
  • 用戶輸入用戶名和密碼(在我的網頁)
  • 我提交到外部網頁的形式(HTTPS://www.uc.cl),這我沒有控制,用戶和PW
  • 我檢查,如果組合是正確的
  • 我將用戶重定向到我的網頁用戶的網頁

我有兩點:首先是如何做的我做經Curl提交而第二個,我需要閱讀外部網頁的cookie來檢查是否用戶密碼組合是好的

我將不勝感激任何幫助。我正在使用PHP和捲曲。

回答

2

閱讀文檔cURL here。它具有可用於POST數據,Cookie和HTTPS的選項。

但是,爲了幫助你,這裏是我用來做cURL請求的函數。您需要根據自己的目的修改選項,例如你想啓用HTTPs選項,並且你可能不想存儲cookie。儘管閱讀文檔!

function curl_request($url, $referer = false, $postdata = false, $new_session = false) //single custom cURL request. 
{ 
    $ch = curl_init(); 
    if ($new_session) 
    { 
     curl_setopt($ch, CURLOPT_COOKIESESSION, true); 
    } 
    curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt"); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt"); 
    curl_setopt($ch, CURLOPT_HEADER, true); 
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); 
    curl_setopt($ch, CURLOPT_VERBOSE, true); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  

    curl_setopt($ch, CURLOPT_URL, $url); 

    if ($referer) 
    { 
     curl_setopt($ch, CURLOPT_REFERER, $referer); 
    } 

    if ($postdata) 
    { 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); 
    } 

    $response = curl_exec($ch); 

    curl_close($ch); 

    return $response; 
} 

此外,如果有必要獲得該cookie瓦爾到一個PHP變量,按照answer here。仔細考慮檢查cookie是否是檢查登錄的最佳方式。