php中使用curl两个例子

时间:2022-11-27 18:42:53

第一个例子:

调用一个天气预告的接口

$data = 'theCityName=石家庄';
$cUrl = curl_init();
curl_setopt($cUrl, CURLOPT_URL, "http://www.webxml.com.cn/webservices/weatherwebservice.asmx/getWeatherbyCityName");
curl_setopt($cUrl, CURLOPT_HEADER, 0);
curl_setopt($cUrl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cUrl, CURLOPT_POST, 1);
curl_setopt($cUrl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($cUrl, CURLOPT_POSTFIELDS, $data);
curl_setopt($cUrl, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=utf-8", "Content-length: ".strlen($data))); $output = curl_exec($cUrl); if(!curl_errno($cUrl)) {
echo $output;
}else{
echo "Curl error: ".curl_error($cUrl);
}
//echo str_replace("百度", "^_^", $output); curl_close($cUrl);

第二个例子:

模拟登录一个站点并保存某个页面

$data = 'name=admin&password=123456';
$cUrl = curl_init();
curl_setopt($cUrl, CURLOPT_URL, "http://www.***.com/a/login.html");
curl_setopt($cUrl, CURLOPT_RETURNTRANSFER, 1);
date_default_timezone_set('PRC'); curl_setopt($cUrl, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($cUrl, CURLOPT_COOKIEFILE, "cookiefile");
curl_setopt($cUrl, CURLOPT_COOKIEJAR, "cookiefile");
curl_setopt($cUrl, CURLOPT_COOKIE, session_name()."=".session_id());
curl_setopt($cUrl, CURLOPT_HEADER, 0);
curl_setopt($cUrl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($cUrl, CURLOPT_POST, 1);
//curl_setopt($cUrl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($cUrl, CURLOPT_POSTFIELDS, $data);
curl_setopt($cUrl, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=utf-8", "Content-length: ".strlen($data)));
curl_exec($cUrl); curl_setopt($cUrl, CURLOPT_URL, "http://www.***.com/a/analysisIndex.html");//要保存的页面
curl_setopt($cUrl, CURLOPT_POST, 0);
curl_setopt($cUrl, CURLOPT_HTTPHEADER, array("Content-type: text/xml"));
$output = curl_exec($cUrl);
curl_close($cUrl);
echo $output;