php教程|php手册
微信,公众,平台,开发,尝试,微信,公众,平台,开发,尝试,最近,看了,一篇,博文,是说,搭建,于是,心血来潮,自己,也
php教程-php手册
微信公众平台开发尝试,微信公众平台
交换友情链接导航源码,vscode 打开nw,好莱坞 ubuntu,修改tomcat口令,sqlite和sql语法,ecshop分期插件,前端框架学习软件教程,poi爬虫原代码,发帖php,seo资源整合,帝国cms原创网站源码,网页制作 下拉选择切换头像,顺风优选 模板lzw
最近看了一篇博文是说微信公众平台搭建,于是心血来潮自己也尝试了一下。
彩票源码网站,ubuntu没有终端图标,tomcat9设置跨域,python爬虫下载语句,php画一个圆,seo 书推荐lzw
1.不用多讲了,申请微信公众号,对于个人来说,只能申请订阅号。
08cms家装系统源码下载,更新ubuntu锁屏,类似于tomcat的中间件,pjthon网络爬虫实例,php怎么实现网页上表格的输出,360渠道SEOlzw
可以看这个链接的文章,/article/414eccf6011ff06b431f0aec.html
2.采用的是Sina App Engine来脱管服务,就要申请sae开发者权限。
再看这个链接/article/4f7d57129a60531a2796.html
3.在sae上新建一个应用
我选择的PHP,PHP几乎免费。Java应用的话,有点小贵了。
虽然没有学过PHP,摸着石头过河吧。
将php代码上传后,就有一个可调试的url了,PHP代码后面上。
4.再在微信公众平台中的开发者中心(这个要经过一段时间的审核),填入一下内容即可
5.然后就是对接数据了,为了测试,我对接的是图灵机器人的数据、12306和百度地图API
12306是为了查余票和车次,百度地图API是为了查天气预报、图灵机器人见链接:/openapi/
php代码如下,本人不是搞PHP的,因此只能在网上拷贝了,如有复制,纯属巧合。
<?php define("TOKEN", "weixin"); Session_start(); Session_Register("kw"); $wechatObj = new wechatCallbackapiTest(); require_once("train.php"); $tqTpl = " <![CDATA[%s]]> <![CDATA[%s]]> %s <![CDATA[%s]]> 5
if (!isset($_GET[‘echostr’])) {
$wechatObj->responseMsg();
}else{
$wechatObj->valid();
}
class wechatCallbackapiTest
{
//验证签名
public function valid()
{
$echoStr = $_GET[“echostr”];
$signature = $_GET[“signature”];
$timestamp = $_GET[“timestamp”];
$nonce = $_GET[“nonce”];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if($tmpStr == $signature){
echo $echoStr;
exit;
}
}
//响应消息
public function responseMsg()
{
$postStr = $GLOBALS[“HTTP_RAW_POST_DATA”];
if (!empty($postStr)){
$this->logger(“R “.$postStr);
$postObj = simplexml_load_string($postStr, ‘SimpleXMLElement’, LIBXML_NOCDATA);
$RX_TYPE = trim($postObj->MsgType);
//消息类型分离
switch ($RX_TYPE)
{
case “event”:
$result = $this->receiveEvent($postObj);
break;
case “text”:
$result = $this->receiveTulingText($postObj);
break;
case “image”:
$result = $this->receiveImage($postObj);
break;
case “location”:
$result = $this->receiveLocation($postObj);
break;
case “voice”:
$result = $this->receiveVoice($postObj);
break;
case “video”:
$result = $this->receiveVideo($postObj);
break;
case “link”:
$result = $this->receiveLink($postObj);
break;
default:
$result = “unknown msg type: “.$RX_TYPE;
break;
}
$this->logger(“T “.$result);
echo $result;
}else {
echo “”;
exit;
}
}
//接收事件消息
private function receiveEvent($object)
{
$content = “”;
switch ($object->Event)
{
case “subscribe”:
$content = “欢迎关注TomSnail “;
$content .= (!empty($object->EventKey))?(“\n来自二维码场景 “.str_replace(“qrscene_”,””,$object->EventKey)):””;
break;
case “unsubscribe”:
$content = “取消关注”;
break;
case “SCAN”:
$content = “扫描场景 “.$object->EventKey;
break;
case “CLICK”:
switch ($object->EventKey)
{
case “COMPANY”:
$content = array();
$content[] = array(“Title”=>”多图文1标题”, “Description”=>””, “PicUrl”=>”/weixin/weather/icon/cartoon.jpg”, “Url” =>”/?u=txw1958″);
break;
default:
$content = “点击菜单:”.$object->EventKey;
break;
}
break;
case “LOCATION”:
$content = “上传位置:纬度 “.$object->Latitude.”;经度 “.$object->Longitude;
break;
case “VIEW”:
$content = “跳转链接 “.$object->EventKey;
break;
case “MASSSENDJOBFINISH”:
$content = “消息ID:”.$object->MsgID.”,结果:”.$object->Status.”,粉丝数:”.$object->TotalCount.”,过滤:”.$object->FilterCount.”,发送成功:”.$object->SentCount.”,发送失败:”.$object->ErrorCount;
break;
default:
$content = “receive a new event: “.$object->Event;
break;
}
if(is_array($content)){
if (isset($content[0])){
$result = $this->transmitNews($object, $content);
}else if (isset($content[‘MusicUrl’])){
$result = $this->transmitMusic($object, $content);
}
}else{
$result = $this->transmitText($object, $content);
}
return $result;
}
private function receiveTulingText($object){
try{
$keyword = trim($object->Content);
$userid = trim($object->FromUserName);
$apiKey = “*******************************”;
$apiURL = “/openapi/api?key=”.$apiKey.”&info=”.$keyword.”&userid=”.userid;
if((substr_count($keyword,’天气’)!=0)||$_SESSION[“kw”]==”天气”){ //百度地图API
if($keyword==”天气”){
$_SESSION[“kw”]=”天气”;
$content = “请输入城市”.$_SESSION[“kw”];
}else{
$geshu = substr_count($keyword,’天气’);
if($geshu==0){
$city = $keyword;
}else{
$t = explode(“天气”,$keyword);
for($i=0;$i<=$geshu;$i++) { if($t[$i]!=\) { $city = $t[$i]; break; } } } $mykey ="*********************"; $url = "http://api./telematics/v3/weather?location=".$city."&output=json&ak=".$mykey;$output = file_get_contents($url);$contentStr = json_decode($output, true);if($contentStr[status]==success){$T[0][Title]=$contentStr[date]." ".$contentStr[ esults][0][currentCity]."天气";$T[0][PicUrl]="http://zhengwairen-try2./xytq.jpg";$T[0][Url]="http://zhengwairen-try2./xytq.jpg"; if(is_array($contentStr[ esults][0][index])) { $T[2][Title]="【pm2.5】".$contentStr[ esults][0][pm25]."\n"."【".$contentStr[ esults][0][index][0][ itle]."】"."(".$contentStr[ esults][0][index][0][zs].") ".$contentStr[ esults][0][index][0][des]; //下一行是洗车指数,感觉不对主题还是不要的好。。//$T[2][Title]=$T[2][Title]."\n"."【".$contentStr[ esults][0][index][1][ itle]."】(".$contentStr[ esults][0][index][1][zs].")".$contentStr[ esults][0][index][1][des];$T[2][Title]=$T[2][Title]."\n"."【".$contentStr[ esults][0][index][2][ itle]."】(".$contentStr[ esults][0][index][2][zs].")".$contentStr[ esults][0][index][2][des]; } else $guowai=1;for($i=1,$aaa=0;$i$value){
$str=$count.” “;
$str.=”火车列次:{$data[$key][‘station_train_code’]}\n”;
$str.=”始发站:{$data[$key][‘start_station_name’]},终点站:{$data[$key][‘end_station_name’]}\n”;
$str.=”出发时间:{$data[$key][‘start_time’]},到站时间:{$data[$key][‘arrive_time’]},历时:{$data[$key][‘lishi’]}\n”;
$str.=”一等座:{$data[$key][‘zy_num’]}\n二等座:{$data[$key][‘ze_num’]}\n硬座:{$data[$key][‘yz_num’]}\n硬卧:{$data[$key][‘yw_num’]}\n”;
$str.=”软卧:{$data[$key][‘rw_num’]}\n软座:{$data[$key][‘rz_num’]}\n特等座:{$data[$key][‘tz_num’]}\n无座:{$data[$key][‘wz_num’]}”;
$count = $count+1;
$T[$count][‘Title’] = $str;
// $T[$count][‘Url’]=”/otn/leftTicket/queryTicketPrice?train_no=”.$data[$key][“train_no”].”&from_station_no=”.$data[$key][“from_station_no”].”&to_station_no=”.$data[$key][“to_station_no”].”&seat_types=”.$data[$key][“seat_types”].”&train_date=$date”;
$T[$count][‘Url’] = “/otn/login/init”;
if($count==10){
break;}
}
$content = $T;
}else{//图灵机器人
$file_contents = file_get_contents($apiURL);
$file_contents = json_decode($file_contents,true);
$code = $file_contents[“code”];
if($code==100000){
$content = $file_contents[“text”];
}else if($code==200000){
$T[0][‘Title’]=$file_contents[“text”];
//$T[0][‘PicUrl’]=”http://zhengwairen-try2./xytq.jpg”;
$T[0][‘Url’]=$file_contents[“url”];
$content = $T;
}else if($code==302000){
$T[0][‘Title’]=$file_contents[“text”];
$T[0][‘PicUrl’]=”http://zhengwairen-try2./xytq.jpg”;
$T[0][‘Url’]=”http://zhengwairen-try2./xytq.jpg”;
$data = $file_contents[“list”];
$count = 1;
foreach($data as $key =>$value){
$T[$count][‘Title’]=$data[$key][“article”];
$T[$count][‘PicUrl’]=$data[$key][“icon”];
$T[$count][‘Url’]=$data[$key][“detailurl”];
$count++;
}
$content = $T;
}else if($code==305000){
$T[0][‘Title’]=$file_contents[“text”];
$T[0][‘PicUrl’]=”http://zhengwairen-try2./xytq.jpg”;
$T[0][‘Url’]=”http://zhengwairen-try2./xytq.jpg”;
$data = $file_contents[“list”];
$count = 1;
foreach($data as $key =>$value){
$T[$count][‘Title’]=”车次”.$data[$key][“trainnum”].”\n起始站:”.$data[$key][“start”].”\n到达站:”.$data[$key][“terminal”].”\n开车时间:”.$data[$key][“starttime”].”\n到达时间:”.$data[$key][“endtime”];
$T[$count][‘PicUrl’]=$data[$key][“icon”];
$T[$count][‘Url’]=$data[$key][“detailurl”];
$count++;
if($count==10){
break;
}
}
$content = $T;
}else if($code==306000){
$T[0][‘Title’]=$file_contents[“text”];
$T[0][‘PicUrl’]=”http://zhengwairen-try2./xytq.jpg”;
$T[0][‘Url’]=”http://zhengwairen-try2./xytq.jpg”;
$data = $file_contents[“list”];
$count = 1;
foreach($data as $key =>$value){
$T[$count][‘Title’]=”航班号”.$data[$key][“flight”].”航班路线”.$data[$key][“route”].”\n起飞时间:”.$data[$key][“starttime”].”\n到达时间:”.$data[$key][“endtime”].”\n状态:”.$data[$key][“state”];
$T[$count][‘PicUrl’]=$data[$key][“icon”];
$T[$count][‘Url’]=$data[$key][“detailurl”];
$count++;
}
$content = $T;
}else if($code==308000){
$T[0][‘Title’]=$file_contents[“text”];
$T[0][‘PicUrl’]=”http://zhengwairen-try2./xytq.jpg”;
$T[0][‘Url’]=”http://zhengwairen-try2./xytq.jpg”;
$data = $file_contents[“list”];
$count = 1;
foreach($data as $key =>$value){
$T[$count][‘Title’]=”名称”.$data[$key][“name”].”详情”.$data[$key][“info”];
$T[$count][‘PicUrl’]=$data[$key][“icon”];
$T[$count][‘Url’]=$data[$key][“detailurl”];
$count++;
}
$content = $T;
}else{
$content = $file_contents[“text”];
}
}
if(is_array($content)){
if (isset($content[0][‘PicUrl’])){
$result = $this->transmitNews($object, $content);
}else if (isset($content[‘MusicUrl’])){
$result = $this->transmitMusic($object, $content);
}
}else{
$result = $this->transmitText($object, $content);
}
}catch(Exception $e){
$content=$e->getMessage();
$result = $this->transmitText($object, $content);
}
return $result;
}
//接收图片消息
private function receiveImage($object)
{
$content = array(“MediaId”=>$object->MediaId);
$result = $this->transmitImage($object, $content);
return $result;
}
//接收位置消息
private function receiveLocation($object)
{
$content = “你发送的是位置,纬度为:”.$object->Location_X.”;经度为:”.$object->Location_Y.”;缩放级别为:”.$object->Scale.”;位置为:”.$object->Label;
$result = $this->transmitText($object, $content);
return $result;
}
//接收语音消息
private function receiveVoice($object)
{
if (isset($object->Recognition) && !empty($object->Recognition)){
$content = “你刚才说的是:”.$object->Recognition;
$result = $this->transmitText($object, $content);
}else{
$content = array(“MediaId”=>$object->MediaId);
$result = $this->transmitVoice($object, $content);
}
return $result;
}
//接收视频消息
private function receiveVideo($object)
{
$content = array(“MediaId”=>$object->MediaId, “ThumbMediaId”=>$object->ThumbMediaId, “Title”=>””, “Description”=>””);
$result = $this->transmitVideo($object, $content);
return $result;
}
//接收链接消息
private function receiveLink($object)
{
$content = “你发送的是链接,标题为:”.$object->Title.”;内容为:”.$object->Description.”;链接地址为:”.$object->Url;
$result = $this->transmitText($object, $content);
return $result;
}
//回复文本消息
private function transmitText($object, $content)
{
$xmlTpl = “
<![CDATA[%s]]>
<![CDATA[%s]]>
%s
<![CDATA[text]]>
<![CDATA[%s]]>
“;
$result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content);
return $result;
}
//回复图片消息
private function transmitImage($object, $imageArray)
{
$itemTpl = “
<![CDATA[%s]]>
“;
$item_str = sprintf($itemTpl, $imageArray[‘MediaId’]);
$xmlTpl = “
<![CDATA[%s]]>
<![CDATA[%s]]>
%s
<![CDATA[image]]>
$item_str
“;
$result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time());
return $result;
}
//回复语音消息
private function transmitVoice($object, $voiceArray)
{
$itemTpl = “
<![CDATA[%s]]>
“;
$item_str = sprintf($itemTpl, $voiceArray[‘MediaId’]);
$xmlTpl = “
<![CDATA[%s]]>
<![CDATA[%s]]>
%s
<![CDATA[voice]]>
$item_str
“;
$result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time());
return $result;
}
//回复视频消息
private function transmitVideo($object, $videoArray)
{
$itemTpl = ““;
$item_str = sprintf($itemTpl, $videoArray[‘MediaId’], $videoArray[‘ThumbMediaId’], $videoArray[‘Title’], $videoArray[‘Description’]);
$xmlTpl = “
<![CDATA[%s]]>
<![CDATA[%s]]>
%s
<![CDATA]>
$item_str
“;
$result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time());
return $result;
}
//回复图文消息
private function transmitNews($object, $newsArray)
{
if(!is_array($newsArray)){
return;
}
$itemTpl = ”
<![CDATA[%s]]>
<![CDATA[%s]]>
<![CDATA[%s]]>
“;
$item_str = “”;
foreach ($newsArray as $item){
$item_str .= sprintf($itemTpl, $item[‘Title’], $item[‘Description’], $item[‘PicUrl’], $item[‘Url’]);
}
$xmlTpl = “
<![CDATA[%s]]>
<![CDATA[%s]]>
%s
<![CDATA[news]]>
%s
$item_str
“;
$result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), count($newsArray));
return $result;
}
//回复音乐消息
private function transmitMusic($object, $musicArray)
{
$itemTpl = “
<![CDATA[%s]]>
<![CDATA[%s]]>
<![CDATA[%s]]>
“;
$item_str = sprintf($itemTpl, $musicArray[‘Title’], $musicArray[‘Description’], $musicArray[‘MusicUrl’], $musicArray[‘HQMusicUrl’]);
$xmlTpl = “
<![CDATA[%s]]>
<![CDATA[%s]]>
%s
<![CDATA[music]]>
$item_str
“;
$result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time());
return $result;
}
//回复多客服消息
private function transmitService($object)
{
$xmlTpl = “
<![CDATA[%s]]>
<![CDATA[%s]]>
%s
<![CDATA[transfer_customer_service]]>
“;
$result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time());
return $result;
}
//日志记录
private function logger($log_content)
{
if(isset($_SERVER[‘HTTP_APPNAME’])){ //SAE
sae_set_display_errors(false);
sae_debug($log_content);
sae_set_display_errors(true);
}else if($_SERVER[‘REMOTE_ADDR’] != “127.0.0.1”){ //LOCAL
$max_size = 10000;
$log_filename = “log.xml”;
if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}
file_put_contents($log_filename, date(‘H:i:s’).” “.$log_content.”\r\n”, FILE_APPEND);
}
}
}
?>
View Code
“VAP”,
“北京东” => “BOP”,
“北京” => “BJP”,
“北京南” => “VNP”,
“北京西” => “BXP”,
“重庆北” => “CUW”,
“重庆” => “CQW”,
“重庆南” => “CRW”,
“长春” => “CCT”,
“长春南” => “CET”,
“长春西” => “CRT”,
“成都东” => “ICW”,
“成都南” => “CNW”,
“成都” => “CDW”,
“长沙” => “CSQ”,
“长沙南” => “CWQ”,
“阿尔山” => “ART”,
“安康” => “AKY”,
“阿克苏” => “ASR”,
“阿里河” => “AHX”,
“阿拉山口” => “AKR”,
“安平” => “APT”,
“安庆” => “AQH”,
“安顺” => “ASW”,
“鞍山” => “AST”,
“安阳” => “AYF”,
“北安” => “BAB”,
“蚌埠” => “BBH”,
“白城” => “BCT”,
“北海” => “BHZ”,
“白河” => “BEL”,
“白涧” => “BAP”,
“宝鸡” => “BJY”,
“滨江” => “BJB”,
“博克图” => “BKX”,
“百色” => “BIZ”,
“白山市” => “HJL”,
“北台” => “BTT”,
“包头东” => “BDC”,
“包头” => “BTC”,
“北屯市” => “BXR”,
“本溪” => “BXT”,
“白云鄂博” => “BEC”,
“白银西” => “BXJ”,
“亳州” => “BZH”,
“赤壁” => “CBN”,
“常德” => “VGQ”,
“承德” => “CDP”,
“长甸” => “CDT”,
“赤峰” => “CFD”,
“茶陵” => “CDG”,
“苍南” => “CEH”,
“昌平” => “CPP”,
“崇仁” => “CRG”,
“昌图” => “CTT”,
“长汀镇” => “CDB”,
“崇信” => “CIJ”,
“曹县” => “CXK”,
“楚雄” => “COM”,
“陈相屯” => “CXT”,
“长治北” => “CBF”,
“长征” => “CZJ”,
“池州” => “IYH”,
“常州” => “CZH”,
“郴州” => “CZQ”,
“长治” => “CZF”,
“沧州” => “COP”,
“崇左” => “CZZ”,
“大安北” => “RNT”,
“大成” => “DCT”,
“丹东” => “DUT”,
“东方红” => “DFB”,
“东莞东” => “DMQ”,
“大虎山” => “DHD”,
“敦煌” => “DHJ”,
“敦化” => “DHL”,
“德惠” => “DHT”,
“东京城” => “DJB”,
“大涧” => “DFP”,
“都江堰” => “DDW”,
“大连北” => “DFT”,
“大理” => “DKM”,
“大连” => “DLT”,
“定南” => “DNG”,
“大庆” => “DZX”,
“东胜” => “DOC”,
“大石桥” => “DQT”,
“大同” => “DTV”,
“东营” => “DPK”,
“大杨树” => “DUX”,
“都匀” => “RYW”,
“邓州” => “DOF”,
“达州” => “RXW”,
“德州” => “DZP”,
“额济纳” => “EJC”,
“二连” => “RLC”,
“恩施” => “ESN”,
“昂昂溪” => “AAX”,
“阿城” => “ACB”,
“安达” => “ADX”,
“安定” => “ADP”,
“安广” => “AGT”,
“艾河” => “AHP”,
“安化” => “PKQ”,
“艾家村” => “AJJ”,
“鳌江” => “ARH”,
“安家” => “AJB”,
“阿金” => “AJD”,
“阿克陶” => “AER”,
“安口窑” => “AYY”,
“敖力布告” => “ALD”,
“安龙” => “AUZ”,
“阿龙山” => “ASX”,
“安陆” => “ALN”,
“阿木尔” => “JTX”,
“阿南庄” => “AZM”,
“安庆西” => “APH”,
“鞍山西” => “AXT”,
“安塘” => “ATV”,
“安亭北” => “ASH”,
“阿图什” => “ATR”,
“安图” => “ATL”,
“安溪” => “AXS”,
“博鳌” => “BWQ”,
“白壁关” => “BGV”,
“蚌埠南” => “BMH”,
“巴楚” => “BCR”,
“板城” => “BUP”,
“北戴河” => “BEP”,
“保定” => “BDP”,
“宝坻” => “BPP”,
“八达岭” => “ILP”,
“巴东” => “BNN”,
“柏果” => “BGM”,
“布海” => “BUT”,
“白河东” => “BIY”,
“贲红” => “BVC”,
“宝华山” => “BWH”,
“白河县” => “BEY”,
“白芨沟” => “BJJ”,
“碧鸡关” => “BJM”,
“北滘” => “IBQ”,
“碧江” => “BLQ”,
“白鸡坡” => “BBM”,
“笔架山” => “BSB”,
“八角台” => “BTD”,
“保康” => “BKD”,
“白奎堡” => “BKB”,
“白狼” => “BAT”,
“百浪” => “BRZ”,
“博乐” => “BOR”,
“宝拉格” => “BQC”,
“巴林” => “BLX”,
“宝林” => “BNB”,
“北流” => “BOZ”,
“勃利” => “BLB”,
“布列开” => “BLR”,
“宝龙山” => “BND”,
“八面城” => “BMD”,
“班猫箐” => “BNM”,
“八面通” => “BMB”,
“北马圈子” => “BRP”,
“北票南” => “RPD”,
“白旗” => “BQP”,
“宝泉岭” => “BQB”,
“白泉” => “BQL”,
“白沙” => “BSW”,
“巴山” => “BAY”,
“白水江” => “BSY”,
“白沙坡” => “BPM”,
“白石山” => “BAL”,
“白水镇” => “BUM”,
“坂田” => “BTQ”,
“泊头” => “BZP”,
“北屯” => “BYP”,
“本溪湖” => “BHT”,
“博兴” => “BXK”,
“八仙筒” => “VXD”,
“白音察干” => “BYC”,
“背荫河” => “BYB”,
“北营” => “BIV”,
“巴彦高勒” => “BAC”,
“白音他拉” => “BID”,
“鲅鱼圈” => “BYT”,
“白银市” => “BNJ”,
“白音胡硕” => “BCD”,
“巴中” => “IEW”,
“霸州” => “RMP”,
“北宅” => “BVP”,
“赤壁北” => “CIN”,
“查布嘎” => “CBC”,
“长城” => “CEJ”,
“长冲” => “CCM”,
“承德东” => “CCP”,
“赤峰西” => “CID”,
“嵯岗” => “CAX”,
“柴岗” => “CGT”,
“长葛” => “CEF”,
“柴沟堡” => “CGV”,
“城固” => “CGY”,
“陈官营” => “CAJ”,
“成高子” => “CZB”,
“草海” => “WBW”,
“柴河” => “CHB”,
“册亨” => “CHZ”,
“草河口” => “CKT”,
“崔黄口” => “CHP”,
“巢湖” => “CIH”,
“蔡家沟” => “CJT”,
“成吉思汗” => “CJX”,
“岔江” => “CAM”,
“蔡家坡” => “CJY”,
“沧口” => “CKK”,
“昌乐” => “CLK”,
“超梁沟” => “CYP”,
“慈利” => “CUQ”,
“昌黎” => “CLP”,
“长岭子” => “CLT”,
“晨明” => “CMB”,
“长农” => “CNJ”,
“昌平北” => “VBP”,
“长坡岭” => “CPM”,
“辰清” => “CQB”,
“楚山” => “CSB”,
“长寿” => “EFW”,
“磁山” => “CSP”,
“苍石” => “CST”,
“草市” => “CSL”,
“察素齐” => “CSC”,
“长山屯” => “CVT”,
“长汀” => “CES”,
“昌图西” => “CPT”,
“春湾” => “CQQ”,
“磁县” => “CIP”,
“岑溪” => “CNZ”,
“辰溪” => “CXQ”,
“磁西” => “CRP”,
“长兴南” => “CFH”,
“磁窑” => “CYK”,
“朝阳” => “CYD”,
“春阳” => “CAL”,
“城阳” => “CEK”,
“创业村” => “CEX”,
“朝阳川” => “CYL”,
“朝阳地” => “CDD”,
“长垣” => “CYF”,
“朝阳镇” => “CZL”,
“滁州北” => “CUH”,
“常州北” => “ESH”,
“滁州” => “CXH”,
“潮州” => “CKQ”,
“常庄” => “CVK”,
“曹子里” => “CFP”,
“车转湾” => “CWM”,
“郴州西” => “ICQ”,
“沧州西” => “CBP”,
“德安” => “DAG”,
“大安” => “RAT”,
“东安” => “DAZ”,
“大坝” => “DBJ”,
“大板” => “DBC”,
“大巴” => “DBD”,
“到保” => “RBT”,
“定边” => “DYJ”,
“东边井” => “DBB”,
“德伯斯” => “RDT”,
“打柴沟” => “DGJ”,
“德昌” => “DVW”,
“滴道” => “DDB”,
“大德” => “DEM”,
“大磴沟” => “DKJ”,
“刀尔登” => “DRD”,
“得耳布尔” => “DRX”,
“东方” => “UFQ”,
“丹凤” => “DGY”,
“东丰” => “DIL”,
“都格” => “DMM”,
“大官屯” => “DTT”,
“大关” => “RGW”,
“东光” => “DGP”,
“东莞” => “DAQ”,
“东海” => “DHB”,
“大灰厂” => “DHP”,
“大红旗” => “DQD”,
“东海县” => “DQH”,
“德惠西” => “DXT”,
“达家沟” => “DJT”,
“东津” => “DKB”,
“杜家” => “DJL”,
“大旧庄” => “DJM”,
“大口屯” => “DKP”,
“东来” => “RVD”,
“德令哈” => “DHO”,
“大陆号” => “DLC”,
“带岭” => “DLB”,
“大林” => “DLD”,
“达拉特旗” => “DIC”,
“独立屯” => “DTX”,
“豆罗” => “DLV”,
“达拉特西” => “DNC”,
“东明村” => “DMD”,
“洞庙河” => “DEP”,
“东明县” => “DNF”,
“大拟” => “DNZ”,
“大平房” => “DPD”,
“大盘石” => “RPP”,
“大埔” => “DPI”,
“大堡” => “DVT”,
“大其拉哈” => “DQX”,
“道清” => “DML”,
“对青山” => “DQB”,
“德清西” => “MOH”,
“东升” => “DRQ”,
“独山” => “RWW”,
“砀山” => “DKH”,
“登沙河” => “DWT”,
“读书铺” => “DPM”,
“大石头” => “DSL”,
“大石寨” => “RZT”,
“东台” => “DBH”,
“定陶” => “DQK”,
“灯塔” => “DGT”,
“大田边” => “DBM”,
“东通化” => “DTL”,
“丹徒” => “RUH”,
“大屯” => “DNT”,
“东湾” => “DRJ”,
“大武口” => “DFJ”,
“低窝铺” => “DWJ”,
“大王滩” => “DZZ”,
“大湾子” => “DFM”,
“大兴沟” => “DXL”,
“大兴” => “DXX”,
“定西” => “DSJ”,
“甸心” => “DXM”,
“东乡” => “DXG”,
“代县” => “DKV”,
“定襄” => “DXV”,
“东戌” => “RXP”,
“东辛庄” => “DXD”,
“丹阳” => “DYH”,
“大雁” => “DYX”,
“德阳” => “DYW”,
“当阳” => “DYN”,
“丹阳北” => “EXH”,
“大英东” => “IAW”,
“东淤地” => “DBV”,
“大营” => “DYV”,
“定远” => “EWH”,
“岱岳” => “RYV”,
“大元” => “DYZ”,
“大营镇” => “DJP”,
“大营子” => “DZD”,
“大战场” => “DTJ”,
“德州东” => “DIP”,
“低庄” => “DVQ”,
“东镇” => “DNV”,
“道州” => “DFZ”,
“东至” => “DCH”,
“东庄” => “DZV”,
“兑镇” => “DWV”,
“豆庄” => “ROP”,
“定州” => “DXP”,
“大竹园” => “DZY”,
“大杖子” => “DAP”,
“豆张庄” => “RZP”,
“峨边” => “EBW”,
“二道沟门” => “RDP”,
“二道湾” => “RDX”,
“二龙” => “RLD”,
“二龙山屯” => “ELA”,
“峨眉” => “EMW”,
“二密河” => “RML”,
“二营” => “RYJ”,
“鄂州” => “ECN”,
“安阳东” => “ADF”,
“保定东” => “BMP”,
“长阳” => “CYN”,
“东二道河” => “DRB”,
“大苴” => “DIM”,
“大青沟” => “DSD”,
“定州东” => “DOP”,
“福州” => “FZS”,
“福州南” => “FYS”,
“贵阳” => “GIW”,
“广州北” => “GBQ”,
“广州东” => “GGQ”,
“广州” => “GZQ”,
“广州南” => “IZQ”,
“哈尔滨” => “HBB”,
“哈尔滨东” => “VBB”,
“哈尔滨西” => “VAB”,
“合肥” => “HFH”,
“合肥西” => “HTH”,
“呼和浩特东” => “NDC”,
“呼和浩特” => “HHC”,
“海口东” => “HMQ”,
“海口” => “VUQ”,
“杭州” => “HZH”,
“杭州南” => “XHH”,
“济南” => “JNK”,
“济南东” => “JAK”,
“济南西” => “JGK”,
“防城港” => “FEZ”,
“福鼎” => “FES”,
“风陵渡” => “FLV”,
“涪陵” => “FLW”,
“富拉尔基” => “FRX”,
“抚顺北” => “FET”,
“佛山” => “FSQ”,
“阜新” => “FXD”,
“阜阳” => “FYH”,
“格尔木” => “GRO”,
“广汉” => “GHW”,
“古交” => “GJV”,
“桂林北” => “GBZ”,
“古莲” => “GRX”,
“桂林” => “GLZ”,
“固始” => “GXN”,
“广水” => “GSN”,
“干塘” => “GNJ”,
“广元” => “GYW”,
“赣州” => “GZG”,
“公主岭” => “GLT”,
“公主岭南” => “GBT”,
“淮安” => “AUH”,
“鹤北” => “HMB”,
“淮北” => “HRH”,
“淮滨” => “HVN”,
“河边” => “HBV”,
“潢川” => “KCN”,
“韩城” => “HCY”,
“邯郸” => “HDP”,
“横道河子” => “HDB”,
“鹤岗” => “HGB”,
“皇姑屯” => “HTT”,
“红果” => “HEM”,
“黑河” => “HJB”,
“怀化” => “HHQ”,
“汉口” => “HKN”,
“葫芦岛” => “HLD”,
“海拉尔” => “HRX”,
“霍林郭勒” => “HWD”,
“海伦” => “HLB”,
“侯马” => “HMV”,
“哈密” => “HMR”,
“淮南” => “HAH”,
“桦南” => “HNB”,
“海宁西” => “EUH”,
“鹤庆” => “HQM”,
“怀柔北” => “HBP”,
“怀柔” => “HRP”,
“黄石东” => “OSN”,
“华山” => “HSY”,
“黄石” => “HSN”,
“黄山” => “HKH”,
“衡水” => “HSP”,
“衡阳” => “HYQ”,
“菏泽” => “HIK”,
“贺州” => “HXZ”,
“汉中” => “HOY”,
“惠州” => “HCQ”,
“吉安” => “VAG”,
“集安” => “JAL”,
“江边村” => “JBG”,
“晋城” => “JCF”,
“金城江” => “JJZ”,
“景德镇” => “JCG”,
“嘉峰” => “JFF”,
“加格达奇” => “JGX”,
“井冈山” => “JGG”,
“蛟河” => “JHL”,
“金华南” => “RNH”,
“金华西” => “JBH”,
“九江” => “JJG”,
“吉林” => “JLL”,
“荆门” => “JMN”,
“佳木斯” => “JMB”,
“济宁” => “JIK”,
“集宁南” => “JAC”,
“酒泉” => “JQJ”,
“江山” => “JUH”,
“吉首” => “JIQ”,
“九台” => “JTL”,
“镜铁山” => “JVJ”,
“鸡西” => “JXB”,
“蓟县” => “JKP”,
“绩溪县” => “JRH”,
“嘉峪关” => “JGJ”,
“江油” => “JFW”,
“锦州” => “JZD”,
“金州” => “JZT”,
“福安” => “FAS”,
“防城” => “FAZ”,
“丰城” => “FCG”,
“丰城南” => “FNG”,
“肥东” => “FIH”,
“发耳” => “FEM”,
“富海” => “FHX”,
“福海” => “FHR”,
“凤凰城” => “FHT”,
“奉化” => “FHH”,
“富锦” => “FIB”,
“范家屯” => “FTT”,
“福利屯” => “FTB”,
“丰乐镇” => “FZB”,
“阜南” => “FNH”,
“阜宁” => “AKH”,
“抚宁” => “FNP”,
“福清” => “FQS”,
“福泉” => “VMW”,
“丰水村” => “FSJ”,
“丰顺” => “FUQ”,
“繁峙” => “FSV”,
“抚顺” => “FST”,
“福山口” => “FKP”,
“扶绥” => “FSZ”,
“冯屯” => “FTX”,
“浮图峪” => “FYP”,
“富县东” => “FDY”,
“凤县” => “FXY”,
“富县” => “FEY”,
“费县” => “FXK”,
“凤阳” => “FUH”,
“汾阳” => “FAV”,
“扶余北” => “FBT”,
“分宜” => “FYG”,
“富源” => “FYM”,
“扶余” => “FYT”,
“富裕” => “FYX”,
“抚州北” => “FBG”,
“凤州” => “FZY”,
“丰镇” => “FZC”,
“范镇” => “VZK”,
“固安” => “GFP”,
“广安” => “VJW”,
“高碑店” => “GBP”,
“沟帮子” => “GBD”,
“甘草店” => “GDJ”,
“谷城” => “GCN”,
“藁城” => “GEP”,
“高村” => “GCV”,
“古城镇” => “GZB”,
“广德” => “GRH”,
“贵定” => “GTW”,
“贵定南” => “IDW”,
“古东” => “GDV”,
“贵港” => “GGZ”,
“官高” => “GVP”,
“葛根庙” => “GGT”,
“干沟” => “GGL”,
“甘谷” => “GGJ”,
“高各庄” => “GGP”,
“甘河” => “GAX”,
“根河” => “GEX”,
“郭家店” => “GDT”,
“孤家子” => “GKT”,
“高老” => “GOB”,
“古浪” => “GLJ”,
“皋兰” => “GEJ”,
“高楼房” => “GFM”,
“归流河” => “GHT”,
“关林” => “GLF”,
“甘洛” => “VOW”,
“郭磊庄” => “GLP”,
“高密” => “GMK”,
“公庙子” => “GMC”,
“工农湖” => “GRT”,
“广宁寺” => “GNT”,
“广南卫” => “GNM”,
“高平” => “GPF”,
“甘泉北” => “GEY”,
“共青城” => “GAG”,
“甘旗卡” => “GQD”,
“甘泉” => “GQY”,
“高桥镇” => “GZD”,
“赶水” => “GSW”,
“灌水” => “GST”,
“孤山口” => “GSP”,
“果松” => “GSL”,
“高山子” => “GSD”,
“嘎什甸子” => “GXD”,
“高台” => “GTJ”,
“高滩” => “GAY”,
“古田” => “GTS”,
“官厅” => “GTP”,
“广通” => “GOM”,
“官厅西” => “KEP”,
“贵溪” => “GXG”,
“涡阳” => “GYH”,
“巩义” => “GXF”,
“高邑” => “GIP”,
“巩义南” => “GYF”,
“固原” => “GUJ”,
“菇园” => “GYL”,
“公营子” => “GYD”,
“光泽” => “GZS”,
“古镇” => “GNQ”,
“瓜州” => “GZJ”,
“高州” => “GSQ”,
“固镇” => “GEH”,
“盖州” => “GXT”,
“官字井” => “GOT”,
“革镇堡” => “GZT”,
“冠豸山” => “GSS”,
“盖州西” => “GAT”,
“红安” => “HWN”,
“淮安南” => “AMH”,
“红安西” => “VXN”,
“海安县” => “HIH”,
“黄柏” => “HBL”,
“海北” => “HEB”,
“鹤壁” => “HAF”,
“华城” => “VCQ”,
“合川” => “WKW”,
“河唇” => “HCZ”,
“汉川” => “HCN”,
“海城” => “HCT”,
“黑冲滩” => “HCJ”,
“黄村” => “HCP”,
“海城西” => “HXT”,
“化德” => “HGC”,
“洪洞” => “HDV”,
“横峰” => “HFG”,
“韩府湾” => “HXJ”,
“汉沽” => “HGP”,
“黄瓜园” => “HYM”,
“红光镇” => “IGW”,
“浑河” => “HHT”,
“红花沟” => “VHD”,
“黄花筒” => “HUD”,
“贺家店” => “HJJ”,
“和静” => “HJR”,
“红江” => “HFM”,
“黑井” => “HIM”,
“获嘉” => “HJF”,
“河津” => “HJV”,
“涵江” => “HJS”,
“华家” => “HJT”,
“河间西” => “HXP”,
“花家庄” => “HJM”,
“河口南” => “HKJ”,
“黄口” => “KOH”,
“湖口” => “HKG”,
“呼兰” => “HUB”,
“葫芦岛北” => “HPD”,
“浩良河” => “HHB”,
“哈拉海” => “HIT”,
“鹤立” => “HOB”,
“桦林” => “HIB”,
“黄陵” => “ULY”,
“海林” => “HRB”,
“虎林” => “VLB”,
“寒岭” => “HAT”,
“和龙” => “HLL”,
“海龙” => “HIL”,
“哈拉苏” => “HAX”,
“呼鲁斯太” => “VTJ”,
“火连寨” => “HLT”,
“黄梅” => “VEH”,
“蛤蟆塘” => “HMT”,
“韩麻营” => “HYP”,
“黄泥河” => “HHL”,
“海宁” => “HNH”,
“惠农” => “HMJ”,
“和平” => “VAQ”,
“花棚子” => “HZM”,
“花桥” => “VQH”,
“宏庆” => “HEY”,
“怀仁” => “HRV”,
“华容” => “HRN”,
“华山北” => “HDY”,
“黄松甸” => “HDL”,
“和什托洛盖” => “VSR”,
“红山” => “VSB”,
“汉寿” => “VSQ”