Curl提供与普通浏览器不同的响应

Opt*_*ime 3 php curl

我正在尝试使用curl从网页获取响应.但是在使用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);
Run Code Online (Sandbox Code Playgroud)

这导致我在这个页面,

在此输入图像描述

但是当我直接转到相同的网址时,它会给我44个结果.

在此输入图像描述

还有更多的结果.

如何使用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);
Run Code Online (Sandbox Code Playgroud)

Dro*_*out 6

看起来目标服务器检查用户代理,如果它不是真正的浏览器,它会抛出一种方式(或通常表现不同).

尝试指定用户代理 - http://curl.haxx.se/docs/manpage.html

例如:

curl -A"Mozilla/5.0(iPhone; U; CPU iPhone OS 4_3_3,如Mac OS X; en-us)AppleWebKit/533.17.9(KHTML,与Gecko一样)Version/5.0.2 Mobile/8J2 Safari/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');
Run Code Online (Sandbox Code Playgroud)