Maison  >  Article  >  développement back-end  >  À propos du transfert de données CURL en PHP

À propos du transfert de données CURL en PHP

不言
不言original
2018-06-19 10:47:541970parcourir

L'article suivant vous apporte une brève discussion sur la transmission de données CURL en PHP. Le contenu est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence.

Confirmez si l'extension CURL est installée

Commande Linux :

[root@fengniu020 ~]# php -i | grep -i curl
Additional .ini files parsed => /etc/php.d/curl.ini,
curl
cURL support => enabled
cURL Information => 7.19.7

Analyse de l'opération curl étapes :

Instance CURL

1. Une simple boucle pour récupérer la page d'accueil de Baidu

2. . Téléchargez une page Web et remplacez "Baidu" dans le contenu par "Ferry", puis affichez

3. Appelez WebService

une simple boucle pour récupérer la page d'accueil de Baidu

<?php
$curl=curl_init(&#39;//www.jb51.net&#39;);
curl_exec($curl);
curl_close($curl);
?>

Téléchargez une page Web et remplacez "Baidu" dans le contenu par "Ferry" et sortez

<?php
/**
 * 实例描述:在网络上下载一个网页并把内容中的“百度”替换为“摆渡”之后输出
 */
$curlobj = curl_init();      // 初始化
curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com");    // 设置访问网页的URL
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);      // 执行之后不直接打印出来
$output=curl_exec($curlobj); // 执行
curl_close($curlobj);     // 关闭cURL
echo str_replace("百度","摆渡",$output);
?>

Appeler WebService

<?php
/**
 * 实例描述:通过调用WebService查询北京的当前天气
 * 下方接口,免费用户24小时内访问是有限制的,需要存储信息
 */
$data = &#39;theCityName=北京&#39;;
//$data = &#39;theCityName=北京&&#39;;//多个用&号连接
$curlobj = curl_init();  
curl_setopt($curlobj, CURLOPT_URL, "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName"); 
curl_setopt($curlobj, CURLOPT_HEADER, 0); 
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curlobj, CURLOPT_POST, 1); //POST方式
curl_setopt($curlobj, CURLOPT_POSTFIELDS, $data); 
curl_setopt($curlobj, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=utf-8", 
  "Content-length: ".strlen($data)
  )); //HTTP请求头
curl_setopt ($curlobj, CURLOPT_USERAGENT, $_SERVER[&#39;HTTP_USER_AGENT&#39;]);
$rtn = curl_exec($curlobj);  
if(!curl_errno($curlobj)){
  // $info = curl_getinfo($curlobj); 
  // print_r($info);
  echo $rtn; 
} else {
 echo &#39;Curl error: &#39; . curl_error($curlobj);
}
curl_close($curlobj);
?>

Télécharger un fichier du serveur FTP vers Local

<?php
/**
 * 代码实例-PHP-cURL实战
 * 实例描述:从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 300s
curl_setopt($curlobj, CURLOPT_USERPWD, "peter.zhou:123456");//FTP用户名:密码
// Sets up the output file
$outfile = fopen(&#39;dest.txt&#39;, &#39;wb&#39;);//保存到本地的文件名
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 &#39;Curl error: &#39; . curl_error($curlobj);
}
curl_close($curlobj);
?>

Télécharger des fichiers locaux sur le serveur FTP

<?php
/**
 * 代码实例-PHP-cURL实战
 * 实例描述:把本地文件上传到FTP服务器上
 */
$curlobj = curl_init();  
$localfile = &#39;ftp01.php&#39;;//需要上传的文件
$fp = fopen($localfile, &#39;r&#39;);

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 300s
curl_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 &#39;Curl error: &#39; . curl_error($curlobj);
}
curl_close($curlobj);
?>

Télécharger une ressource HTTPS sur Internet

<?php
/**
 * 代码实例-PHP-cURL实战
 * 实例描述:下载网络上面的一个HTTPS的资源
 */
$curlobj = curl_init();      // 初始化
curl_setopt($curlobj, CURLOPT_URL, "https://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.js");    // 设置访问网页的URL
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);      // 执行之后不直接打印出来

// 设置HTTPS支持
date_default_timezone_set(&#39;PRC&#39;); // 使用Cookie时,必须先设置时区
curl_setopt($curlobj, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查从证书中检查SSL加密算法是否存在,设置为0就是终止从服务器端进行验证
curl_setopt($curlobj, CURLOPT_SSL_VERIFYHOST, 2); // 

$output=curl_exec($curlobj); // 执行
curl_close($curlobj);     // 关闭cURL
echo $output;
?>

Ce qui précède est le contenu complet de l'article, j'espère cela sera utile à l'apprentissage de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

PHP implémente l'extraction du nom de domaine racine via l'URL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn