2011-06-13 6 views
0

여기에 도움이 필요합니다.컬을 사용하여 외부 웹 페이지로 양식 제출

외부 웹 페이지의 양식에 $ _POST을 (를) 만들려고합니다. 아이디어는 다음입니다 :

  • 사용자가 내 웹 페이지에 입장합니다. 내가 해달라고 : (//www.uc.cl HTTPS), www.caae.cl/encuesta
  • 사용자는 내가 외부 웹 페이지의 형태로 제출 (내 웹 페이지에) 사용자 이름과 암호
  • 를 입력 제어, 사용자와 PW
  • 조합이 맞다면 내가 두 점을
  • 내가 내 웹 페이지를 사용자의 홈페이지

로 사용자를 리디렉션 확인 : 먼저 어떻게 모든 나는 컬을 통해 제출하기 두 번째 질문은 외부 웹 페이지의 쿠키를 읽고 확인해야합니다. 사용자 비밀번호 콤보는 OK

어떤 도움을 주셔서 감사합니다. 임 PHP와 컬 작업.

답변

2

cURL here에 대한 설명서를 읽으십시오. POST 데이터, 쿠키 및 HTTPS에 사용할 수있는 옵션이 있습니다.

하지만 도움이되도록 여기에 cURL 요청을하는 데 사용하는 기능이 있습니다. 원하는대로 옵션을 수정해야합니다 (예 : HTTPs 옵션을 사용하려는 경우 쿠키를 저장하지 않을 수 있습니다. 설명서를 읽으십시오! 이 쿠키는 PHP 변수에 바르 얻을 필요가 있다면

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; 
} 

또한,의 answer here을 따릅니다. 쿠키를 확인하는 것이 로그인을 확인하는 가장 좋은 방법인지 신중하게 생각하십시오.