如何在頁(yè)面中調(diào)用百度地圖,直接在你想要插入的頁(yè)面上調(diào)用百度地圖代碼即可

十余年的福綿網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整福綿建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“福綿網(wǎng)站設(shè)計(jì)”,“福綿網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
百度地圖調(diào)用API地址:
1.設(shè)置定位中心:直接搜索你要找的位置即可。
調(diào)用百度地圖代碼
2.設(shè)置地圖:設(shè)置地圖樣式,如大小,顯示,功能等。
3.添加標(biāo)注:添加你要標(biāo)注的地方,自定義坐標(biāo)位置
4.獲取代碼:點(diǎn)擊獲取代碼即可,在你要插入百度地圖的地方出入百度地圖代碼
只要插入!--引用百度地圖API--部分的代碼就行。
oCurl?=?curl_init();
//?設(shè)置請(qǐng)求頭
$header[]?=?"Content-type:?application/x-www-form-urlencoded";
$user_agent?=?"Mozilla/5.0?(Windows?NT?6.1)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/33.0.1750.146?Safari/537.36";
curl_setopt($oCurl,?CURLOPT_URL,?$sUrl);
curl_setopt($oCurl,?CURLOPT_HTTPHEADER,$header);
//?返回?response_header,?該選項(xiàng)非常重要,如果不為?true,?只會(huì)獲得響應(yīng)的正文
curl_setopt($oCurl,?CURLOPT_HEADER,?true);
//?是否不需要響應(yīng)的正文,為了節(jié)省帶寬及時(shí)間,在只需要響應(yīng)頭的情況下可以不要正文
curl_setopt($oCurl,?CURLOPT_NOBODY,?true);
//?使用上面定義的?uacurl_setopt($oCurl,?CURLOPT_USERAGENT,$user_agent);curl_setopt($oCurl,?CURLOPT_RETURNTRANSFER,?1?);
//?不用?POST?方式請(qǐng)求,?意思就是通過(guò)?GET?請(qǐng)求
curl_setopt($oCurl,?CURLOPT_POST,?false);?$sContent?=?curl_exec($oCurl);
//?獲得響應(yīng)結(jié)果里的:頭大小
$headerSize?=?curl_getinfo($oCurl,?CURLINFO_HEADER_SIZE);
//?根據(jù)頭大小去獲取頭信息內(nèi)容
$header?=?substr($sContent,?0,?$headerSize);
curl_close($oCurl);
本文承接上面兩篇,本篇中的示例要調(diào)用到前兩篇中的函數(shù),做一個(gè)簡(jiǎn)單的URL采集。一般php采集網(wǎng)絡(luò)數(shù)據(jù)會(huì)用file_get_contents、file和cURL。不過(guò)據(jù)說(shuō)cURL會(huì)比f(wàn)ile_get_contents、file更快更專業(yè),更適合采集。今天就試試用cURL來(lái)獲取網(wǎng)頁(yè)上的所有鏈接。示例如下:
?php
/*
* 使用curl 采集hao123.com下的所有鏈接。
*/
include_once('function.php');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '');
// 只需返回HTTP header
curl_setopt($ch, CURLOPT_HEADER, 1);
// 頁(yè)面內(nèi)容我們并不需要
// curl_setopt($ch, CURLOPT_NOBODY, 1);
// 返回結(jié)果,而不是輸出它
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
$info = curl_getinfo($ch);
if ($html === false) {
echo "cURL Error: " . curl_error($ch);
}
curl_close($ch);
$linkarr = _striplinks($html);
// 主機(jī)部分,補(bǔ)全用
$host = '';
if (is_array($linkarr)) {
foreach ($linkarr as $k = $v) {
$linkresult[$k] = _expandlinks($v, $host);
}
}
printf("p此頁(yè)面的所有鏈接為:/ppre%s/pren", var_export($linkresult , true));
?
function.php內(nèi)容如下(即為上兩篇中兩個(gè)函數(shù)的合集):
?php
function _striplinks($document) {
preg_match_all("'s*as.*?hrefs*=s*(["'])?(?(1) (.*?)\1 | ([^s]+))'isx", $document, $links);
// catenate the non-empty matches from the conditional subpattern
while (list($key, $val) = each($links[2])) {
if (!empty($val))
$match[] = $val;
} while (list($key, $val) = each($links[3])) {
if (!empty($val))
$match[] = $val;
}
// return the links
return $match;
}
/*===================================================================*
Function: _expandlinks
Purpose: expand each link into a fully qualified URL
Input: $links the links to qualify
$URI the full URI to get the base from
Output: $expandedLinks the expanded links
*===================================================================*/
function _expandlinks($links,$URI)
{
$URI_PARTS = parse_url($URI);
$host = $URI_PARTS["host"];
preg_match("/^[^?]+/",$URI,$match);
$match = preg_replace("|/[^/.]+.[^/.]+$|","",$match[0]);
$match = preg_replace("|/$|","",$match);
$match_part = parse_url($match);
$match_root =
$match_part["scheme"]."://".$match_part["host"];
$search = array( "|^http://".preg_quote($host)."|i",
"|^(/)|i",
"|^(?!http://)(?!mailto:)|i",
"|/./|",
"|/[^/]+/../|"
);
$replace = array( "",
$match_root."/",
$match."/",
"/",
"/"
);
$expandedLinks = preg_replace($search,$replace,$links);
return $expandedLinks;
}
?
有以下幾種可能:
1、服務(wù)器端確實(shí)沒(méi)有數(shù)據(jù)返回;
2、curl寫(xiě)錯(cuò)了;
3、試試下面這個(gè),我在用的
function?curl($url,$post?=?'POST',$data?=?array()){
$ch?=?curl_init();
$headers[]?=?"Accept-Charset:?utf-8";
curl_setopt($ch,?CURLOPT_URL,?$url);
curl_setopt($ch,?CURLOPT_CUSTOMREQUEST,?$post);
curl_setopt($ch,?CURLOPT_POSTFIELDS,?$data);
curl_setopt($ch,?CURLOPT_SSL_VERIFYPEER,?FALSE);
curl_setopt($ch,?CURLOPT_SSL_VERIFYHOST,?FALSE);
curl_setopt($ch,?CURLOPT_SSLVERSION,?1);
curl_setopt($ch,?CURLOPT_HTTPHEADER,?$headers);
curl_setopt($ch,?CURLOPT_USERAGENT,?'Mozilla/5.0?(compatible;?MSIE?5.01;?Windows?NT?5.0)');
curl_setopt($ch,?CURLOPT_FOLLOWLOCATION,?1);
curl_setopt($ch,?CURLOPT_AUTOREFERER,?1);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true);
$result?=?curl_exec($ch);
curl_close($ch);
return?json_decode($result,1);
}
因?yàn)椋琍HP CURL庫(kù)默認(rèn)1024字節(jié)的長(zhǎng)度不等待數(shù)據(jù)的返回,所以你那段代碼需增加一項(xiàng)配置:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
給你一個(gè)更全面的封裝方法:
function req_curl($url, $status = null, $options = array())
{
$res = '';
$options = array_merge(array(
'follow_local' = true,
'timeout' = 30,
'max_redirects' = 4,
'binary_transfer' = false,
'include_header' = false,
'no_body' = false,
'cookie_location' = dirname(__FILE__) . '/cookie',
'useragent' = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1',
'post' = array() ,
'referer' = null,
'ssl_verifypeer' = 0,
'ssl_verifyhost' = 0,
'headers' = array(
'Expect:'
) ,
'auth_name' = '',
'auth_pass' = '',
'session' = false
) , $options);
$options['url'] = $url;
$s = curl_init();
if (!$s) return false;
curl_setopt($s, CURLOPT_URL, $options['url']);
curl_setopt($s, CURLOPT_HTTPHEADER, $options['headers']);
curl_setopt($s, CURLOPT_SSL_VERIFYPEER, $options['ssl_verifypeer']);
curl_setopt($s, CURLOPT_SSL_VERIFYHOST, $options['ssl_verifyhost']);
curl_setopt($s, CURLOPT_TIMEOUT, $options['timeout']);
curl_setopt($s, CURLOPT_MAXREDIRS, $options['max_redirects']);
curl_setopt($s, CURLOPT_RETURNTRANSFER, true);
curl_setopt($s, CURLOPT_FOLLOWLOCATION, $options['follow_local']);
curl_setopt($s, CURLOPT_COOKIEJAR, $options['cookie_location']);
curl_setopt($s, CURLOPT_COOKIEFILE, $options['cookie_location']);
if (!empty($options['auth_name']) is_string($options['auth_name']))
{
curl_setopt($s, CURLOPT_USERPWD, $options['auth_name'] . ':' . $options['auth_pass']);
}
if (!empty($options['post']))
{
curl_setopt($s, CURLOPT_POST, true);
curl_setopt($s, CURLOPT_POSTFIELDS, $options['post']);
//curl_setopt($s, CURLOPT_POSTFIELDS, array('username' = 'aeon', 'password' = '111111'));
}
if ($options['include_header'])
{
curl_setopt($s, CURLOPT_HEADER, true);
}
if ($options['no_body'])
{
curl_setopt($s, CURLOPT_NOBODY, true);
}
if ($options['session'])
{
curl_setopt($s, CURLOPT_COOKIESESSION, true);
curl_setopt($s, CURLOPT_COOKIE, $options['session']);
}
curl_setopt($s, CURLOPT_USERAGENT, $options['useragent']);
curl_setopt($s, CURLOPT_REFERER, $options['referer']);
$res = curl_exec($s);
$status = curl_getinfo($s, CURLINFO_HTTP_CODE);
curl_close($s);
return $res;
}
獲取請(qǐng)求頭信息,可以在curl_exec函數(shù)執(zhí)行前,添加代碼curl_setopt($ch,CURLINFO_HEADER_OUT,true);在curl_exec函數(shù)執(zhí)行后,通過(guò) curl_getinfo($ch,CURLINFO_HEADER_OUT) 來(lái)獲取curl執(zhí)行請(qǐng)求的請(qǐng)求數(shù)據(jù)。
獲取響應(yīng)頭信息,可以在curl_exec函數(shù)執(zhí)行前,添加代碼 curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_NOBODY,true); 之后 通過(guò)curl_exec函數(shù)來(lái)獲取響應(yīng)頭信息。獲取設(shè)置 curl_setopt($ch, CURLOPT_NOBODY,false);然后對(duì)curl_exec獲取的值通過(guò)\r\n\r\n進(jìn)行分割截取第一部分即為響應(yīng)頭信息。
文章標(biāo)題:curl獲取數(shù)據(jù)php,curl 輸出詳細(xì)信息
本文地址:http://chinadenli.net/article36/dsiohsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)