|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
可以说你的马步已经扎的差不多了,接下来就要开始练把势的时候了,如果有条件的话,用笔或者打印一个简易的PHP手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。 比来在做校园藏书楼图手札息的收罗程序,既然是藏书楼图书的收罗,一定有提交搜刮的页面,不过是post提交,让我想到了curl摹拟提交,起首经由过程firebug举行抓包查询下post提交后的格局以下:txtWxlx=CN&hidWxlx=spanCNLx&txtPY=HZ&txtTm=%D2%F4%C0%D6&txtLx=%25&txtSearchType=1&nMaxCount=100&nSetPageSize=10&cSortFld=%D5%FD%CC%E2%C3%FB&B1=%BC%EC+%CB%F7;搜刮的关头字name=txtTm,随儿女码以下:复制代码<?php$keyword="音乐";$post="txtWxlx=CN&hidWxlx=spanCNLx&txtPY=HZ&txtTm={$keyword}&txtLx=%25&txtSearchType=1&nMaxCount=100&nSetPageSize=20&cSortFld=%D5%FD%CC%E2%C3%FB&B1=%BC%EC+%CB%F7";$url="http://210.30.68.130/wxjs/tmjs.asp";//查询地点$ch=curl_init();curl_setopt($ch,CURLOPT_REFERER,"http://210.30.68.130/wxjs/tmjs_form.asp/");//摹拟来历curl_setopt($ch,CURLOPT_URL,$url);//URLcurl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch,CURLOPT_HEADER,false);curl_setopt($ch,CURLOPT_POST,1);//摹拟POSTcurl_setopt($ch,CURLOPT_POSTFIELDS,$post);//POST内容curl_exec($ch);$output=curl_close($ch);echo$output;?>复制代码但前往的页面老是显现没有相干内容,假如把关头字改成英语大概数字就能够一般显现了,因而想到这应当是编码成绩,然后在post下面能够看到txtTm=%D2%F4%C0%D6经由查询得知这是url编码,汉字会举行转化,假如是英语则不会产生任何改动,因而就把头信息也加了部份内容出来以下:$header=array();$header[]=User-Agent:Mozilla/5.0(WindowsNT6.1;rv:30.0)Gecko/20100101Firefox/30.0;$header[]=Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8;$header[]=Connection:keep-alive;$header[]=Content-Type:application/x-www-form-urlencoded;curl_setopt($ch,CURLOPT_HTTPHEADER,$header);实在次要是$header[]=Content-Type:application/x-www-form-urlencoded;再次加载页面后假如是汉字显现仍是没有相干的内容,随后想到了一个很复杂的成绩地点,php程序是utf8的,但是藏书楼的网站是gb2312,好吧,再加上一句,$keyword=iconv(UTF-8,GB2312,$keyword);再次加载乐成,这个应当才是成绩关头地点,然后我把头信息删除后增加一句$keyword=urlencode($keyword);再次加载也就是上面的代码:复制代码<?php$keyword="天下";$keyword=iconv(UTF-8,GB2312,$keyword);$keyword=urlencode($keyword);$post="txtWxlx=CN&hidWxlx=spanCNLx&txtPY=HZ&txtTm={$keyword}&txtLx=%25&txtSearchType=1&nMaxCount=100&nSetPageSize=20&cSortFld=%D5%FD%CC%E2%C3%FB&B1=%BC%EC+%CB%F7";$url="http://210.30.68.130/wxjs/tmjs.asp";//查询地点$ch=curl_init();curl_setopt($ch,CURLOPT_REFERER,"http://210.30.68.130/wxjs/tmjs_form.asp/");//摹拟来历curl_setopt($ch,CURLOPT_URL,$url);//URLcurl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch,CURLOPT_HEADER,false);curl_setopt($ch,CURLOPT_POST,1);//摹拟POSTcurl_setopt($ch,CURLOPT_POSTFIELDS,$post);//POST内容curl_exec($ch);$output=curl_close($ch);echo$output;?>复制代码不出所料,一般显现了,随后就是页面内容的收罗排版成绩了。不过是正则了。(因为是校园网只能我们内网会见)会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。 |
|