高校现代教学管理系统                                             相关连接: 学籍信息查询系统                    
 这是登录界面的html代码    
  header ( "content-Type: text/html; charset=utf-8" );  
  require_once 'search.php';  
 // 第一步:提交数据,生成cookie,将cookie保存在临时目录下  
 $cookiejar = realpath ( 'cookie.txt' );  
 $id=$_GET['id'];  
 $password=$_GET['password'];  
 $year=$_GET['year'];  
 $term=$_GET['term'];  
 $ch = curl_init ();  
 $login_url = "http://211.67.32.51/";  
 $curlPost = "__VIEWSTATE=dDw5NTI3MzM0NTQ7dDw7bDxpPDE%2BO2k8NT47PjtsPHQ8O2w8aTw4PjtpPDExPjs%2BO2w8dDxwPDtwPGw8b25jbGljazs%2BO2w8d2luZG93LmNsb3NlKClcOzs%2BPj47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjs%2BPjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BOz4%2BO2w8aW1nREw7aW1nVEM7aW1nUU1NOz4%2BiyfPvg3FujyU8xX773LO%2FCbCuTw%3D&tbYHM=K061141026&tbPSW=100311&ddlSF=学生&imgDL.x=0&imgDL.y=0";  
 curl_setopt ( $ch, CURLOPT_URL, $login_url );  
 // 启用时会将头文件的信息作为数据流输出  
 curl_setopt ( $ch, CURLOPT_HEADER, 0 );  
 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );  
 curl_setopt ( $ch, CURLOPT_REFERER, 'http://211.67.32.51/' );  
 curl_setopt ( $ch, CURLOPT_POST, 1 );  
 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $curlPost );  
 // 设置连接结束后保存cookie信息的文件  
 curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiejar );  
 $data=curl_exec ( $ch );  
 $data = mb_convert_encoding ( $data, "utf-8", "gb2312" );  
 echo $data;  
 //echo '
'.search3($id,$year, $term,$ch).'';  
 ?>    
 这是我写的模拟服务器登录的PHP文件                
 这是用firebug抓到的post数据和头信息,现在遇到的问题是每次执行这个文件时,都是返回“请选择角色”,而我上面的ddlSF的属性给了值呀,请问问题出在哪里    
  
   回复讨论(解决方案)
   你的php用的是utf-8,但firebug显示的是gb2312 (建议程序内用gbk,不要用gb2312)  
 确认哪个才是正确的 
   是改这个吗,我改了还是没用啊 
   
   是改这个吗,我改了还是没用啊  
   不晓得你这个从哪里来……  
  zend studio里的编码 
   搞不清你这些编辑器的操作  
  
 关键是 “ddlSF=学生”这个编码必须和对方网站的编码一致,不然提交过去对方就认不得了 
   我给他编了码呀,假如是你的话,你会用哪个函数给她编码 
   
   我给他编了码呀,假如是你的话,你会用哪个函数给她编码  
     where? 完全没看到  
  
$curlPost = "__VIEWSTATE=dDw5NTI3MzM0NTQ7dDw7bDxpPDE%2BO2k8NT47PjtsPHQ8O2w8aTw4PjtpPDExPjs%2BO2w8dDxwPDtwPGw8b25jbGljazs%2BO2w8d2luZG93LmNsb3NlKClcOzs%2BPj47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjs%2BPjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BOz4%2BO2w8aW1nREw7aW1nVEM7aW1nUU1NOz4%2BiyfPvg3FujyU8xX773LO%2FCbCuTw%3D&tbYHM=K061141026&tbPSW=100311&ddlSF=学生&imgDL.x=0&imgDL.y=0";$curlPost = iconv("UTF-8", "GBK", $curlPost);    楼主,我提交__VIEWSTATE的值后,返回Object moved to here......能给我点经验吗? 
     
  
 这里gbk  
  
  
 header ( "content-Type: text/html; charset=utf-8" );  
 这里utf-8,先把这俩统一了再说。 
   
   
$curlPost = "__VIEWSTATE=dDw5NTI3MzM0NTQ7dDw7bDxpPDE%2BO2k8NT47PjtsPHQ8O2w8aTw4PjtpPDExPjs%2BO2w8dDxwPDtwPGw8b25jbGljazs%2BO2w8d2luZG93LmNsb3NlKClcOzs%2BPj47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjs%2BPjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BOz4%2BO2w8aW1nREw7aW1nVEM7aW1nUU1NOz4%2BiyfPvg3FujyU8xX773LO%2FCbCuTw%3D&tbYHM=K061141026&tbPSW=100311&ddlSF=学生&imgDL.x=0&imgDL.y=0";$curlPost = iconv("UTF-8", "GBK", $curlPost);     你好我现在的源代码是这样的  header ( "content-Type: text/html; charset=utf-8" );  
  require_once 'search.php';  
 // 第一步:提交数据,生成cookie,将cookie保存在临时目录下  
 $cookiejar = realpath ( 'cookie.txt' );  
 $id=$_GET['id'];  
 $password=$_GET['password'];  
 $year=$_GET['year'];  
 $term=$_GET['term'];  
 $ch = curl_init ();  
 $login_url = "http://211.67.32.51/";  
 $curlPost = "__VIEWSTATE=dDw5NTI3MzM0NTQ7dDw7bDxpPDE%2BO2k8NT47PjtsPHQ8O2w8aTw4PjtpPDExPjs%2BO2w8dDxwPDtwPGw8b25jbGljazs%2BO2w8d2luZG93LmNsb3NlKClcOzs%2BPj47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjs%2BPjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BOz4%2BO2w8aW1nREw7aW1nVEM7aW1nUU1NOz4%2BiyfPvg3FujyU8xX773LO%2FCbCuTw%3D&tbYHM=K061141026&tbPSW=100311&ddlSF=学生&imgDL.x=0&imgDL.y=0";  
 $curlPost = iconv("UTF-8", "GBK", $curlPost);  
 curl_setopt ( $ch, CURLOPT_URL, $login_url );  
 // 启用时会将头文件的信息作为数据流输出  
 curl_setopt ( $ch, CURLOPT_PROXY, 'jackdowosn.gnway.net:81');  
 curl_setopt ( $ch, CURLOPT_HEADER, 0 );  
 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );  
 curl_setopt ( $ch, CURLOPT_REFERER, 'http://211.67.32.51/' );  
 curl_setopt ( $ch, CURLOPT_POST, 1 );  
 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $curlPost );  
 // 设置连接结束后保存cookie信息的文件  
 curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiejar );  
 $data=curl_exec ( $ch );  
 $data = mb_convert_encoding ( $data, "utf-8", "gbk" );  
 //echo $data;  
 echo '
'.search3($id,$year, $term,$ch).'';  
 ?>  
 可是他返回的还是  
 string(150) "  
 Object moved to here.  
 "   
  
   楼主,我提交__VIEWSTATE的值后,返回Object moved to here......能给我点经验吗?  
我也还没解决这个问题  
  
  
  
   
    
    
$curlPost = "__VIEWSTATE=dDw5NTI3MzM0NTQ7dDw7bDxpPDE%2BO2k8NT47PjtsPHQ8O2w8aTw4PjtpPDExPjs%2BO2w8dDxwPDtwPGw8b25jbGljazs%2BO2w8d2luZG93LmNsb3NlKClcOzs%2BPj47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjs%2BPjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BOz4%2BO2w8aW1nREw7aW1nVEM7aW1nUU1NOz4%2BiyfPvg3FujyU8xX773LO%2FCbCuTw%3D&tbYHM=K061141026&tbPSW=100311&ddlSF=学生&imgDL.x=0&imgDL.y=0";$curlPost = iconv("UTF-8", "GBK", $curlPost);       你好我现在的源代码是这样的  header ( "content-Type: text/html; charset=utf-8" );   
  require_once 'search.php';   
 // 第一步:提交数据,生成cookie,将cookie保存在临时目录下   
 $cookiejar = realpath ( 'cookie.txt' );   
 $id=$_GET['id'];   
 $password=$_GET['password'];   
 $year=$_GET['year'];   
 $term=$_GET['term'];   
 $ch = curl_init ();   
 $login_url = "http://211.67.32.51/";   
 $curlPost = "__VIEWSTATE=dDw5NTI3MzM0NTQ7dDw7bDxpPDE%2BO2k8NT47PjtsPHQ8O2w8aTw4PjtpPDExPjs%2BO2w8dDxwPDtwPGw8b25jbGljazs%2BO2w8d2luZG93LmNsb3NlKClcOzs%2BPj47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjs%2BPjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BOz4%2BO2w8aW1nREw7aW1nVEM7aW1nUU1NOz4%2BiyfPvg3FujyU8xX773LO%2FCbCuTw%3D&tbYHM=K061141026&tbPSW=100311&ddlSF=学生&imgDL.x=0&imgDL.y=0";   
 $curlPost = iconv("UTF-8", "GBK", $curlPost);   
 curl_setopt ( $ch, CURLOPT_URL, $login_url );   
 // 启用时会将头文件的信息作为数据流输出   
 curl_setopt ( $ch, CURLOPT_PROXY, 'jackdowosn.gnway.net:81');   
 curl_setopt ( $ch, CURLOPT_HEADER, 0 );   
 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );   
 curl_setopt ( $ch, CURLOPT_REFERER, 'http://211.67.32.51/' );   
 curl_setopt ( $ch, CURLOPT_POST, 1 );   
 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $curlPost );   
 // 设置连接结束后保存cookie信息的文件   
 curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiejar );   
 $data=curl_exec ( $ch );   
 $data = mb_convert_encoding ( $data, "utf-8", "gbk" );   
 //echo $data;   
 echo '
'.search3($id,$year, $term,$ch).'';   
 ?>   
 可是他返回的还是   
 string(150) "   
 Object moved to here.   
 "       
 大仙你的login_url怎么也要是default3.aspx结尾吧,你难道没有看到form表单中action属性么?  
  
   
    
    
     
     
$curlPost = "__VIEWSTATE=dDw5NTI3MzM0NTQ7dDw7bDxpPDE%2BO2k8NT47PjtsPHQ8O2w8aTw4PjtpPDExPjs%2BO2w8dDxwPDtwPGw8b25jbGljazs%2BO2w8d2luZG93LmNsb3NlKClcOzs%2BPj47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjs%2BPjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BOz4%2BO2w8aW1nREw7aW1nVEM7aW1nUU1NOz4%2BiyfPvg3FujyU8xX773LO%2FCbCuTw%3D&tbYHM=K061141026&tbPSW=100311&ddlSF=学生&imgDL.x=0&imgDL.y=0";$curlPost = iconv("UTF-8", "GBK", $curlPost);         你好我现在的源代码是这样的  header ( "content-Type: text/html; charset=utf-8" );    
  require_once 'search.php';    
 // 第一步:提交数据,生成cookie,将cookie保存在临时目录下    
 $cookiejar = realpath ( 'cookie.txt' );    
 $id=$_GET['id'];    
 $password=$_GET['password'];    
 $year=$_GET['year'];    
 $term=$_GET['term'];    
 $ch = curl_init ();    
 $login_url = "http://211.67.32.51/";    
 $curlPost = "__VIEWSTATE=dDw5NTI3MzM0NTQ7dDw7bDxpPDE%2BO2k8NT47PjtsPHQ8O2w8aTw4PjtpPDExPjs%2BO2w8dDxwPDtwPGw8b25jbGljazs%2BO2w8d2luZG93LmNsb3NlKClcOzs%2BPj47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjs%2BPjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BOz4%2BO2w8aW1nREw7aW1nVEM7aW1nUU1NOz4%2BiyfPvg3FujyU8xX773LO%2FCbCuTw%3D&tbYHM=K061141026&tbPSW=100311&ddlSF=学生&imgDL.x=0&imgDL.y=0";    
 $curlPost = iconv("UTF-8", "GBK", $curlPost);    
 curl_setopt ( $ch, CURLOPT_URL, $login_url );    
 // 启用时会将头文件的信息作为数据流输出    
 curl_setopt ( $ch, CURLOPT_PROXY, 'jackdowosn.gnway.net:81');    
 curl_setopt ( $ch, CURLOPT_HEADER, 0 );    
 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );    
 curl_setopt ( $ch, CURLOPT_REFERER, 'http://211.67.32.51/' );    
 curl_setopt ( $ch, CURLOPT_POST, 1 );    
 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $curlPost );    
 // 设置连接结束后保存cookie信息的文件    
 curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiejar );    
 $data=curl_exec ( $ch );    
 $data = mb_convert_encoding ( $data, "utf-8", "gbk" );    
 //echo $data;    
 echo '
'.search3($id,$year, $term,$ch).'';    
 ?>    
 可是他返回的还是    
 string(150) "    
 Object moved to here.    
 "          
 大仙你的login_url怎么也要是default3.aspx结尾吧,你难道没有看到form表单中action属性么?   改了可还是没用  
  请问问题解决了吗,我现在也是在做正方现代的这个抓数据,可是一直都不行 
   __VIEWSTATE是会变的,获取一下