Heim >Backend-Entwicklung >PHP-Tutorial > php_curl.dll扩充介绍和详解

php_curl.dll扩充介绍和详解

WBOY
WBOYOriginal
2016-06-13 12:38:551116Durchsuche

php_curl.dll扩展介绍和详解
、什么是CURL且能实现什么功能? 


什么是CURL 
curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传等等,功能十分强大。
PHP中常用都实现那些功能: 


1、实现远程获取和采集内容 
2、实现PHP 网页版的FTP上传下载 
3、实现模拟登陆 
4、实现接口对接(API),数据传输等 

5、实现模拟Cookie等 


2、PHP 如何使用CURL功能 
1  整个操作过程中第一步是用cur_init()函数进行初始化 
$curl = curl_init(‘www.php100.com’); 
2  然后,用curl_setopt()函数进行设置选项。 
3  设置后,进行执行事务 curl_exec($curl); 
4  最后关闭curl_close(); 


3、使用PHP CURL实现传输和获取功能 


$curl = curl_init(); //初始化一个 cURL 对象 
curl_setopt($curl, CURLOPT_URL, "http://www.php100.com"); 
//设置你需要抓取的URL 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
//设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 
$data = curl_exec($curl); //运行cURL,请求网页 
curl_close($curl); //关闭URL请求 


=========== 

$user = "admin"; 
$pass = "admin100"; 
$curlPost = "user=$user&pass=$pass"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); 
$data = curl_exec($ch); 
curl_close($ch);




1、CURL模拟登陆的流程和步骤
2、tempnam 创建一个临时文件
3、使用CURL模拟登陆到PHP100论坛

$cookie_file    =    tempnam('./temp','cookie');
$login_url        =    'http://bbs.php100.com/login.php';
$post_fields    =    'cktime=31536000&step=2&pwuser=php100-88&pwpwd=111111';


$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_exec($ch);
curl_close($ch);




$url='http://bbs.php100.com/userpay.php';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents = curl_exec($ch);
preg_match("/

  • ?????(.*)/",$contents,$arr);
    echo $arr[1];
    curl_close($ch);
    ?>

  • Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn