php 替换curl内容,PHP中通用的cURL用法总结

原标题:PHP中通用的cURL用法总结

bcef4b497422f6171fa2ba61c62529ed.gif

确认是否安装了CURL扩展

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

f4d4db5e40546943439314ec8289ae3e.png

CURL实例

1.一个简单的curl,抓取百度首页

2.下载一个网页并把内容中的“百度”替换为“摆渡”之后输出

3.调用WebService

一个简单的curl,抓取百度首页

$curl=curl_init('');

curl_exec($curl);

curl_close($curl);

?>

下载一个网页并把内容中的“百度”替换为“摆渡”之后输出

/**

* 实例描述:在网络上下载一个网页并把内容中的“百度”替换为“摆渡”之后输出

*/

$curlobj = curl_init(); // 初始化

curl_setopt($curlobj, CURLOPT_URL, ""); // 设置访问网页的URL

curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来

$output=curl_exec($curlobj); // 执行

curl_close($curlobj); // 关闭cURL

echo str_replace("百度","摆渡",$output);

?>

调用WebService

/**

* 实例描述:通过调用WebService查询北京的当前天气

* 下方接口,免费用户24小时内访问是有限制的,需要存储信息

*/

$data = 'theCityName=北京';

//$data = 'theCityName=北京&';//多个用&号连接

$curlobj = curl_init();

curl_setopt($curlobj, CURLOPT_URL, "");

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['HTTP_USER_AGENT']);

$rtn = curl_exec($curlobj);

if(!curl_errno($curlobj)){

// $info = curl_getinfo($curlobj);

// print_r($info);

echo $rtn;

} else {

echo 'Curl error: ' . curl_error($curlobj);

}

curl_close($curlobj);

?>

从FTP服务器下载一个文件到本地

/**

* 代码实例-PHP-cURL实战

* 实例描述:从FTP服务器下载一个文件到本地

*/

$curlobj = curl_init();

curl_setopt($curlobj, CURLOPT_URL, "");

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('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服务器上

/**

* 代码实例-PHP-cURL实战

* 实例描述:把本地文件上传到FTP服务器上

*/

$curlobj = curl_init();

$localfile = 'ftp01.php';//需要上传的文件

$fp = fopen($localfile, 'r');

curl_setopt($curlobj, CURLOPT_URL, "");//上传后保存的文件名

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 'Curl error: ' . curl_error($curlobj);

}

curl_close($curlobj);

?>

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

/**

* 代码实例-PHP-cURL实战

* 实例描述:下载网络上面的一个HTTPS的资源

*/

$curlobj = curl_init(); // 初始化

curl_setopt($curlobj, CURLOPT_URL, ""); // 设置访问网页的URL

curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来

// 设置HTTPS支持

date_default_timezone_set('PRC'); // 使用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;

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值