首页 / 网页编程 / PHP / 学习使用curl采集curl使用方法
复制代码 代码如下: <?php $cookie_jar = tempnam("./tmp","cookie"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"登陆地址"); curl_setopt($ch, CURLOPT_POST, 1); $request = "username=xxx&pwd=xxx"; curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//传递数据 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);//把返回来的cookie信息保存在$cookie_jar文件中 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设定返回的数据是否自动显示 curl_setopt($ch, CURLOPT_HEADER, false);//设定是否显示头信息 curl_setopt($ch, CURLOPT_NOBODY, false);//设定是否输出页面内容 curl_exec($ch); curl_close($ch); //get data after login $ch2 = curl_init(); curl_setopt($ch2, CURLOPT_URL, "查看地址"); curl_setopt($ch2, CURLOPT_HEADER, false); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar); $orders = curl_exec($ch2); echo $orders; curl_close($ch2);// 实践证明很稳定:) ?> 先在本机测试,在php.ini中去掉了extension=php_curl.dll前面的;,查看一下phpinfo(),并没有curl。 查了下文档, 复制代码 代码如下: Note to Win32 Users: In order to enable this module on a Windows environment, libeay32.dll and ssleay32.dll must be present in your PATH. 将libeay32.dll 和ssleay32.dll复制到system32下,重启apache,刷新phpinfo(),看到了curl。 引用 复制代码 代码如下: cURL support enabled cURL Information libcurl/7.16.0 OpenSSL/0.9.8d zlib/1.2.3 本机测试顺利通过,再去服务器上测试。原没装curl,只好重新编译php。 在原编译参数后面加了--with-curl=/usr/local/curl。 我这次的配置是: 复制代码 代码如下: ./configure "--prefix=/usr/local/php5" "--with-apxs2=/usr/local/apache2/bin/apxs" "--with-mysql=/usr/local/mysql" "--with-gd=/usr/local/gd" "--with-zlib" "--with-png" "--with-jpeg-dir=/usr/local/jpeg" "--with-freetype-dir=/usr/local/freetype" "--enable-sockets" "--with-iconv" "--enable-mbstring" "--enable-track-vars" "--enable-force-cgi-redirect" "--with-config-file-path=/usr/local/php5/etc" --with-curl=/usr/local/curl 很快OK。phpinfo显示 引用 复制代码 代码如下: CURL support enabled CURL Information libcurl/7.12.1 OpenSSL/0.9.7a zlib/1.2.3 libidn/0.5.6 感觉挺好用的:)
收藏该网址