2013-04-10 12 views
1

HTML 폼을 사용하여 페이지에 값을 POST하고 해당 페이지 소스를 가져 오려고합니다.POST 값 및 페이지 소스 가져 오기

나는 $html = file_get_html('http://www.exam.com/results/');

을 사용하여 소스를 얻을 수 있지만 소스도를 얻기 전에, 내가 먼저 해당 페이지에 대한 값을 POST, 다음 소스를 잡아해야합니다.

내가 값이 http://www.exam.com/results/

내가 값의 제출을위한 양식을 작성 게시해야 다른 페이지를 말할 수 있습니다.

<form method="post" action="http://www.exam.com/results/"> 

<input type="hidden" value="900358967" name="eid"> 
<input name="confirm" type="submit" value="Enter" > 

</form> 

그래서 POST로 값을 표시하고 해당 페이지에 데이터를 표시하지만 데이터와 함께 페이지 소스를 가져 오는 방법은 무엇입니까?

이것이 가능합니까? 나는 어디에서나 수색을하고 그것을 잡으려고 노력했지만 값을 입력 한 후에 잡는 방법을 모른다.

+0

페이지 소스로 무엇을 의미합니까? 더 설명해 주시겠습니까? –

+0

이 목적으로 cURL을 사용해야 할 것 같습니다. cURL을 사용하여 양식에 값을 게시하고 결과 페이지 소스를 리턴 할 수 있습니다. http://php.net/manual/en/book.curl.php – viclim

+0

질문을 이해했다면 POST가 보낸 페이지의 소스 코드를 얻으시겠습니까? – Brainfeeder

답변

1

난 당신이 내가 당신이 자바 스크립트 태그 문제를 발견 CURL

//set POST variables 
$url = 'http://www.exam.com/results/'; 
$fields = array(
'eid' => urlencode('900358967') 
); 
$fields_string = ""; 

//url-ify the data for the POST 
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } 
rtrim($fields_string, '&'); 

//open connection 
$ch = curl_init(); 

//set the url, number of POST vars, POST data 
curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch,CURLOPT_POST, count($fields)); 
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); 

//execute post 
$result = curl_exec($ch); 
+0

안녕하세요, 오류가 발생합니다 - 알기 쉬운 변수 : fields_string in C : \ wamp \ www \ results \ 1 \ 1.php – naveencgr8

+0

@ naveencgr8 지금 초기화를 잊어 버렸습니다 .. :) –

+0

작동하지만 결과를 표시하지 않으면 검사 ID를 입력하는 일반 텍스트 상자가 표시됩니다. 우리가 예상 한대로 값이 POST가 아님을 의미합니다 .. – naveencgr8

1

와 같은 시도해야 생각합니다. 그래서 여기 jQuery를 사용하여 당신을 위해 일할 수있는 해결책이 있습니다.

$.post('http://www.exam.com/results/',$('form').serialize(), function(data) { 
    alert(data); 
}); 

URL 만 html을 반환하는 경우 html은 함수에서 반환 한 데이터 var에 포함됩니다.

+0

고마워,하지만 이건 나를 위해 일을 못했고, 나는 그다지 Java에 익숙하지 않다. 어떻게 든 PHP로 해결했다[email protected]에 감사드립니다. :) – naveencgr8

+1

@ naveencgr8 문제 없습니다. 그리고 위의 JavaScript입니다. 자바와 동일하지 않습니다;) – Brainfeeder

+0

그래, 미안, 내 나쁜 .. :) :) – naveencgr8