2014-01-29 3 views
3

curl을 사용하여 웹 페이지에서 응답을 얻으려고합니다. 그러나 컬을 사용하고 정상적으로 브라우징 할 때 다른 응답을 얻습니다. 내가 직접 동일한 URL에 갈 때Curl이 일반 브라우저와 다른 응답을합니다.

PHP 파일

$ch = curl_init(); 
echo "trying<br>"; 
//$url = "home.iitk.ac.in/~gopi/student_search/feedback.php"; 
$roll_no = "11101"; 
$name=""; 
$program="all"; 
$department="all"; 
$email=""; 
$gender="both"; 
$city=""; 
$course=""; 
$order="id"; 
$hostel=""; 
$bg=''; 
$tile = '0'; 
$offset = 0; 
$url = "http://search.junta.iitk.ac.in/get2.php?&tile=0&roll_no=".$roll_no."&name=".$name." 
         &program=".$program."&dept=".$department."&login=".$email."&gender=".$gender." 
         &city=".$city."&course=".$course."&hostel=".$hostel."&bg=".$bg."&offset=".$offset; 
         echo $url; 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$result = curl_exec($ch); 
$ret_val = curl_error($ch); 
echo $result; 
echo $ret_val; 
curl_close($ch); 

그리고는이 페이지에서 저 결과,

enter image description here

는하지만, 그것은 나에게 (44 개) 결과를 제공합니다.

enter image description here

및 더 많은 결과.

어떻게하면 curl을 사용하여 동일한 결과를 얻을 수 있습니까?

편집

(작동하지 않습니다.)

curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_REFERER, 'http://search.junta.iitk.ac.in'); 
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); 

$result = curl_exec($ch); 

답변

6

이 대상 서버가 사용자 에이전트를 확인 같은데 그것은 그것에게 방법을 던졌습니다 진짜 브라우저가 아니라면 (또는 일반적으로 동작 다르게) .

사용자 에이전트를 지정하십시오 - 예를 들어 http://curl.haxx.se/docs/manpage.html

을 :

컬 -A "모질라/5.0 (아이폰; U; CPU 아이폰 OS 4_3_3 맥 OS X와 ​​같은; EN-US) AppleWebKit /533.17.9 (도마뱀 붙이와 같은 KHTML) 버전/5.0.2 모바일/8J2 사파리/6533.18.5 "http://www.apple.com

PHP에서 :

curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); 
+0

이렇게 보입니다. PHP에서 사용자 에이전트를 어떻게 지정합니까? –

+0

편집보기 .. 작동하는지 알려주세요. 건배! – Dropout

+0

나는'curl_setopt ($ ch, CURLOPT_REFERER, 'http://search.junta.iitk.ac.in');를 추가하려고 시도했다. curl_setopt ($ ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv : 1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); –

관련 문제