PHP CURL 总结

来源:互联网 发布:虚拟社交网络弊端 编辑:程序博客网 时间:2024/06/08 08:24

1.Get请求

$curlobj = curl_init();            // 初始化curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com");        // 设置访问网页的URLcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);           // 执行之后不直接打印出来$output=curl_exec($curlobj);  // 执行curl_close($curlobj);          // 关闭cURLecho $output; #输出

2.POST请求

$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $postAddress);// post数据curl_setopt($ch, CURLOPT_POST, 1);// post的变量curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString);//http头信息,根据实际情况修改curl_setopt($ch, CURLOPT_HTTPHEADER, array(        'Content-Type: application/json; charset=utf-8',        'Content-Length: ' . strlen($dataString)        ));curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    // 执行之后不直接打印出来$output = curl_exec($ch);curl_close($ch);

带Cookie访问

public function curl($url, $cookie = false){    $curlobj = curl_init();                curl_setopt($curlobj, CURLOPT_URL, $url);      curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);// 执行之后不直接打印出来    // Cookie相关设置,这部分设置需要在所有会话开始之前设置    date_default_timezone_set('PRC'); // 使用Cookie时,必须先设置时区    curl_setopt($curlobj, CURLOPT_COOKIESESSION, TRUE);     #http头信息,根据实际情况设置    curl_setopt($curlobj,CURLOPT_HTTPHEADER,$header);      #添加cookie    curl_setopt($curlobj, CURLOPT_COOKIE, $cookie);    $output = curl_exec($curlobj);      curl_close($curlobj);      return $output;}

从FTP服务器下载文件

$curlobj = curl_init();    curl_setopt($curlobj, CURLOPT_URL, "ftp://192.168.1.100/downloaddemo.txt");  curl_setopt($curlobj, CURLOPT_HEADER, 0); curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($curlobj, CURLOPT_TIMEOUT, 300); // times out after 300scurl_setopt($curlobj, CURLOPT_USERPWD, "peter.zhou:123456");//FTP用户名:密码// Sets up the output file$outfile = fopen('dest.txt', 'wb');//保存到本地的文件名curl_setopt($curlobj, CURLOPT_FILE, $outfile);$rtn = curl_exec($curlobj);  fclose($outfile); if(!curl_errno($curlobj)){    // $info = curl_getinfo($curlobj);     // print_r($info);    echo "RETURN: " . $rtn;  } else {  echo 'Curl error: ' . curl_error($curlobj);}curl_close($curlobj);

把本地文件上传到FTP服务器上

$curlobj = curl_init();    $localfile = 'ftp01.php';$fp = fopen($localfile, 'r');curl_setopt($curlobj, CURLOPT_URL, "ftp://192.168.1.100/ftp01_uploaded.php");  curl_setopt($curlobj, CURLOPT_HEADER, 0); curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($curlobj, CURLOPT_TIMEOUT, 300); // times out after 300scurl_setopt($curlobj, CURLOPT_USERPWD, "peter.zhou:123456");//FTP用户名:密码curl_setopt($curlobj, CURLOPT_UPLOAD, 1);curl_setopt($curlobj, CURLOPT_INFILE, $fp);curl_setopt($curlobj, CURLOPT_INFILESIZE, filesize($localfile));$rtn = curl_exec($curlobj);  fclose($fp); if(!curl_errno($curlobj)){    echo "Uploaded successfully.";  } else {  echo 'Curl error: ' . curl_error($curlobj);}curl_close($curlobj);

下载网络上面的一个HTTPS的资源

$curlobj = curl_init();            // 初始化curl_setopt($curlobj, CURLOPT_URL, "https://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.js");       // 设置访问网页的URLcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);           // 执行之后不直接打印出来// 设置HTTPS支持date_default_timezone_set('PRC'); // 使用Cookie时,必须先设置时区curl_setopt($curlobj, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查从证书中检查SSL加密算法是否存在curl_setopt($curlobj, CURLOPT_SSL_VERIFYHOST, 2); // $output=curl_exec($curlobj);  // 执行curl_close($curlobj);          // 关闭cURLecho $output;

一些常用设置

// 不要返回http header 加快效率,方便解析HTMLcurl_setopt($curl, CURLOPT_HEADER, 0);// 让cURL支持页面链接跳转curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // https请求 不验证证书和hostscurl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);//设置获取的信息以文件流的形式返回,而不是直接输出。curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
0 0
原创粉丝点击