基本用法
例一
$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");
//设置输出路径,默认为浏览器
curl_setopt($ch, CURLOPT_FILE, $fp);
//头文件的信息作为数据流输出
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
例二
<?php
// 创建一个cURL资源
$ch = curl_init();
// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// 抓取URL并把它传递给浏览器
curl_exec($ch);
// 关闭cURL资源,并且释放系统资源
curl_close($ch);
?>
例三,设置http头,模拟请求
// Get cURL resource
$ch = curl_init ();
// Set url
curl_setopt ( $ch, CURLOPT_URL, 'http://www.example.com' );
// Set method
curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
// Set options
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
// Set headers
curl_setopt ( $ch, CURLOPT_HTTPHEADER, array (
"Cookie: 9zZW50X3RvX2dhdGV3YXkGOgZFRkZJIh9jYXNfdmFsaWRhdGlvbl9yZXRyeV9jb3VudAY7AEZpAEkiHXByZXZpb3VzX3JlZGlyZWN0X3RvX2Nhcw"
) );
// Send the request & save response to $resp
$resp = curl_exec ( $ch );
header("Content-type:text/html;charset=GB2312");
if (! $resp) {
die ( 'Error: "' . curl_error ( $ch ) . '" - Code: ' . curl_errno ( $ch ) );
} else {
echo "Response HTTP Status Code : " . curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
echo "\n数据下载成功!\n";
}
// Close request to clear up some resources
curl_close ( $ch );
$resp = json_decode ( $resp, true );
$file = 'example.csv';
file_put_contents ( $file, ",,".date("y-m-d",time())."example数据统计,,,,,,,\n", FILE_APPEND );
file_put_contents ( $file, "应用名,平台,今日新增用户,昨日新增用户,今日活跃用户,昨日活跃用户,今日启动次数,昨日启动次数,今日累计用户,\n", FILE_APPEND );
foreach ( $resp ['stats'] as $key => $value ) {
//排除非论坛数据
$paichu = array (
'8146101275b04265f2c58925',
'2ed4202c00b0426529cd4c25',
'31a1804a77b042657125d735',
'b1000096e7510725f71fda05',
'690c00ce22b042653508c025',
'297c005ff1b042653d18c025',
'5b1e50cc7db042650825d735',
'7f1200624e5c89df66d6bd35',
'88f920d3a55c89df8555ce35',
'6c3140ba7b5c89df2b0d4345'
);
if (in_array ( $value ['app_id'], $paichu )) {
continue;
}
foreach ( $value as $k => $v ) {
//过滤无用字段
switch ($k) {
case 'sdk_tip' :
break;
case 'sdk_version' :
break;
case 'game' :
break;
case 'starred' :
break;
case 'app_id' :
break;
case 'report_path' :
break;
// case 'install_all';break;
default :
file_put_contents ( $file, @iconv( 'UTF-8', "GBK//IGNORE", $v ) . ",", FILE_APPEND );
break;
}
}
file_put_contents ( $file, "\n", FILE_APPEND );
}