zl程序教程

您现在的位置是:首页 >  后端

当前栏目

学习使用curl采集curl使用方法

方法学习 使用 采集 CURL
2023-06-13 09:14:32 时间
复制代码代码如下:

<?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);//getdataafterlogin

$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。
查了下文档,
复制代码代码如下:

NotetoWin32Users:InordertoenablethismoduleonaWindowsenvironment,libeay32.dllandssleay32.dllmustbepresentinyourPATH.

将libeay32.dll和ssleay32.dll复制到system32下,重启apache,刷新phpinfo(),看到了curl。
引用
复制代码代码如下:
cURLsupportenabled
cURLInformationlibcurl/7.16.0OpenSSL/0.9.8dzlib/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显示
引用
复制代码代码如下:
CURLsupportenabled
CURLInformationlibcurl/7.12.1OpenSSL/0.9.7azlib/1.2.3libidn/0.5.6

感觉挺好用的:)