首页 > 语言 > PHP > 正文

一波PHP中cURL库的常见用法代码示例

2024-05-04 23:45:41
字体:
来源:转载
供稿:网友
这篇文章主要介绍了一波PHP中cURL库的常见用法代码示例,类Unix世界的cURL内置于PHP中,使Linux和Mac OS用户倍感亲切,需要的朋友可以参考下
 

php 的CURL是不错的功能,下面收藏几段不错的片段

0、基本例子
一般流程:

$to_url=$_GET['url'];print_r($_GET);if(substr($to_url,0,1)=='/'){ $to_url="http://www.amazon.com".$to_url;}echo $to_url;//初始化$ch = curl_init();//设置选项,包括URLcurl_setopt($ch, CURLOPT_URL, $to_url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HEADER, 0);//执行并获取HTML文档内容$output = curl_exec($ch);$output=preg_replace("#href=/"#","href=/"http://in2.qq-ex.com/amazon.php?url=",$output);// 释放curl句柄curl_close($ch);echo $output;// 指定代理地址curl_setopt($ch, CURLOPT_PROXY, '11.11.11.11:8080');// 如果需要的话,提供用户名和密码curl_setopt($ch, CURLOPT_PROXYUSERPWD,'user:pass');

1、测试网站是否运行正常

 if (isDomainAvailible('http://gz.itownet.cn'))   {     echo "Up and running!";   }   else   {     echo "Woops, nothing found there.";   }    //returns true, if domain is availible, false if not   function isDomainAvailible($domain)   {     //check, if a valid url is provided     if(!filter_var($domain, FILTER_VALIDATE_URL))     {       return false;     }      //initialize curl     $curlInit = curl_init($domain);     curl_setopt($curlInit,CURLOPT_CONNECTTIMEOUT,10);     curl_setopt($curlInit,CURLOPT_HEADER,true);     curl_setopt($curlInit,CURLOPT_NOBODY,true);     curl_setopt($curlInit,CURLOPT_RETURNTRANSFER,true);      //get answer     $response = curl_exec($curlInit);      curl_close($curlInit);      if ($response) return true;      return false;   } 

2、可以代替file_gecontents的操作

function file_get_contents_curl($url) {  $ch = curl_init();   curl_setopt($ch, CURLOPT_HEADER, 0);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.  curl_setopt($ch, CURLOPT_URL, $url);   $data = curl_exec($ch);  curl_close($ch);   return $data; } 

3、保存某个网站下的所有图片

 function getImages($html) {  $matches = array();  $regex = '~http://somedomain.com/images/(.*?)/.jpg~i';  preg_match_all($regex, $html, $matches);  foreach ($matches[1] as $img) {   saveImg($img);  } }  function saveImg($name) {  $url = 'http://somedomain.com/images/'.$name.'.jpg';  $data = get_data($url);  file_put_contents('photos/'.$name.'.jpg', $data); }  $i = 1; $l = 101;  while ($i < $l) {  $html = get_data('http://somedomain.com/id/'.$i.'/');  getImages($html);  $i += 1; } 

4、FTP应用

// open a file pointer $file = fopen("/path/to/file", "r");  // the url contains most of the info needed $url = "ftp://username:password@mydomain.com:21/path/to/new/file";  $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // upload related options curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_INFILESIZE, filesize("/path/to/file"));  // set for ASCII mode (e.g. text files) curl_setopt($ch, CURLOPT_FTPASCII, 1);  $output = curl_exec($ch); curl_close($ch); 

5、使用curl发送JSON数据

$data = array("name" => "Hagrid", "age" => "36");                                   $data_string = json_encode($data);                                             $ch = curl_init('http://api.local/rest/users');                                    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                        'Content-Type: application/json',                                           'Content-Length: ' . strlen($data_string))                                     );                                                             $result = curl_exec($ch); 


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选