curl模块模仿登录后收罗页面【详解】

本日接到的作业是从一个网站获取商品库存,可是这个网站需要登录,我用fsockopen通报了整个header头都没用,只能求助于curl了。
  附带说一下curl模块的开启步伐:
  (1)从php目次下拷贝:libeay32.dll,ssleay32.dll 到windows目次下。
  (2)打开php.ini,查找“extension_dir = xxxxx”,确认后头的文件目次内有php_curl.dll文件。
  (3)同样是php.ini,查找“extension=php_curl.dll”,确认它没有被注释(前面没有';')。
  (4)重启apache,假如利用curl_init();语句呈现错误提示,则说明没有安装乐成。

$curl = curl_init(); $cookie_jar = tempnam('./tmp','cookie'); curl_setopt($curl, CURLOPT_URL,'http://b2b.bookuu.com/b2b_club/checkUser.jsp');//这里写上处理惩罚登录的界面 curl_setopt($curl, CURLOPT_POST, 1); $request = 'user=xxx&password=xxx'; curl_setopt($curl, CURLOPT_POSTFIELDS, $request);//传 递数据 curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);// 把返返来的cookie信息生存在$cookie_jar文件中 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//设定返回 的数据是否自动显示 curl_setopt($curl, CURLOPT_HEADER, false);//设定是否显示头信 息 curl_setopt($curl, CURLOPT_NOBODY, false);//设定是否输出页面 内容 curl_exec($curl);//返回功效 curl_close($curl); //封锁 $curl2 = curl_init(); curl_setopt($curl2, CURLOPT_URL, 'http://b2b.bookuu.com/search/b2b_zxsm_new.jsp');//登岸后要从哪个页面获取信息 curl_setopt($curl2, CURLOPT_HEADER, false); curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar); $content = curl_exec($curl2);

这样就把得到的数据作为字符勾串报到$content了。然后对字符串举办处理惩罚,删掉没须要的部门。
  我只删除了页眼前端没须要的部门:
$content = strstr($orders,'<div>');//查找首次呈现

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7768.html