前端页面获取访问者的IP地址、经纬度和地理位置

18 篇文章 1 订阅
订阅专栏
18 篇文章 3 订阅
订阅专栏
8 篇文章 0 订阅
订阅专栏

前言

本文主要通过高德地图API进行一系列的分析。提供具体的讲解和源码。
获取的经纬度和地理位置精确度并不高,仅供参考
请勿非法使用,本人概不负责。
效果如下
在这里插入图片描述

前期准备

注册成为开发者,获取Key

高德开发平台: https://console.amap.com/dev/key/app
注册用户
填写相关信息成为开发者
在这里插入图片描述
创建key
在这里插入图片描述
需要先创建应用
在这里插入图片描述
在这里插入图片描述
然后点击添加
在这里插入图片描述
选择“web服务”,我们需要的就是 逆地理编码 和 IP定位API。ps:点击服务的蓝色字可以跳转到官方教程
在这里插入图片描述
创建完成后,就能获取到key了
在这里插入图片描述

IP定位和逆地理编码API文档

2022/07/22 发现v5已经改v3了,注意适配 https://restapi.amap.com/v3/ip?ip=114.247.50.2&output=xml&key=<用户的key>
https://lbs.amap.com/api/webservice/guide/api/ipconfig/
在这里插入图片描述
https://lbs.amap.com/api/webservice/guide/api/georegeo/
在这里插入图片描述

思路讲解

1、IP地址获取

采用2种方式,如果本地运行,选用搜狐接口 http://pv.sohu.com/cityjson?ie=utf-8,可以获取到访问者IP等信息。如果有web服务器,可以采用自建http请求获取访问者IP。

2、IP定位获取经纬度

调用高德地图 IP定位API https://restapi.amap.com/v5/ip?type=4&key=<用户的key>&ip=114.247.50.2
注意,上面的key就是我们刚才申请的应用里的key,将其替换于此,type是IP类型,ip就是你要查的IP。
在这里插入图片描述
我这用postman测试下,我们要的就是location,返回的json数据方便解析
在这里插入图片描述

3、逆地理编码获取地理位置

调用高德地图 逆地理API https://restapi.amap.com/v3/geocode/regeo?location=116.310003,39.991957&key=<用户的key>&radius=1000&extensions=all
其中location就是我们上一步获取的经纬度信息,key就是我们申请的key,其他参数都是调节用的,因为这些数据不确定,所以我实现时进行了简化。
在这里插入图片描述
测试,简化后,我们就获取formatted_address的内容
在这里插入图片描述

代码实现

本地运行版

创建XMLHttpRequest对象的实现并不严谨,可以优化,不过我懒了0.0
XMLHttpRequest - Web API 接口参考 | MDN
XMLHttpRequest 对象 W3C
在这里插入图片描述
文件名为 ip_pos.html,后缀是html就行

新版

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <title>
        我找到你了
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
    <span id="ip"></span>
    <br>
    <span id="pos"></span>
    <br>
    <span id="address"></span>
</body>
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
<script type="text/javascript">
    // 存储IP地址
    var ip = returnCitySN["cip"];
    document.getElementById("ip").innerText = "你的IP是" + ip;
    get_pos(ip);

    function get_pos(ip)
    {
        // 构建url
        var url = "https://restapi.amap.com/v3/ip?key=<你的key>&ip=" + ip;
        // 建立所需的对象
        var httpRequest = new XMLHttpRequest();
        // 打开连接  将请求参数写在url中 
        httpRequest.open('GET', url, true);
        // 发送请求  将请求参数写在URL中
        httpRequest.send();
        // 经纬度坐标
        var pos = "";
        // 获取数据后的处理程序
        httpRequest.onreadystatechange = function () {
            if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                // 获取到json字符串
                var ret = httpRequest.responseText;
                //console.log(ret);
                // 转为JSON对象
                var json = JSON.parse(ret);
                console.log(json);
                pos = json["rectangle"];
                document.getElementById("pos").innerText = "你的经纬度是" + pos;
				
				pos_arr = pos.split(';');
				
                get_addr(pos_arr[0]);
            }
        };
    }
    
    function get_addr(pos)
    {
        var httpRequest = new XMLHttpRequest();
        url = "https://restapi.amap.com/v3/geocode/regeo?key=<你的key>&radius=0&extensions=all&batch=false&location=" + pos;
        httpRequest.open('GET', url, true);
        httpRequest.send();
        httpRequest.onreadystatechange = function () {
            if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                // 获取到json字符串
                var ret = httpRequest.responseText;
                //console.log(ret);
                // 转为JSON对象
                var json = JSON.parse(ret);
                console.log(json);
                var address = json["regeocode"]["formatted_address"];
                console.log(address);
                document.getElementById("address").innerText = "你的地址大概是" + address;
                
            }
        };
    }
</script>

</html>


旧版本(已不适用)

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <title>
        我找到你了
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
    <span id="ip"></span>
    <br>
    <span id="pos"></span>
    <br>
    <span id="address"></span>
</body>
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
<script type="text/javascript">
    // 存储IP地址
    var ip = returnCitySN["cip"];
    document.getElementById("ip").innerText = "你的IP是" + ip;
    get_pos(ip);

    function get_pos(ip)
    {
        // 构建url
        var url = "https://restapi.amap.com/v5/ip?key=<你的key>&type=4&ip=" + ip;
        // 建立所需的对象
        var httpRequest = new XMLHttpRequest();
        // 打开连接  将请求参数写在url中 
        httpRequest.open('GET', url, true);
        // 发送请求  将请求参数写在URL中
        httpRequest.send();
        // 经纬度坐标
        var pos = "";
        // 获取数据后的处理程序
        httpRequest.onreadystatechange = function () {
            if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                // 获取到json字符串
                var ret = httpRequest.responseText;
                //console.log(ret);
                // 转为JSON对象
                var json = JSON.parse(ret);
                console.log(json);
                pos = json["location"];
                document.getElementById("pos").innerText = "你的经纬度是" + pos;

                get_addr(pos);
            }
        };
    }
    
    function get_addr(pos)
    {
        var httpRequest = new XMLHttpRequest();
        url = "https://restapi.amap.com/v3/geocode/regeo?key=<你的key>&radius=0&extensions=all&batch=false&location=" + pos;
        httpRequest.open('GET', url, true);
        httpRequest.send();
        httpRequest.onreadystatechange = function () {
            if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                // 获取到json字符串
                var ret = httpRequest.responseText;
                //console.log(ret);
                // 转为JSON对象
                var json = JSON.parse(ret);
                console.log(json);
                var address = json["regeocode"]["formatted_address"];
                console.log(address);
                document.getElementById("address").innerText = "你的地址大概是" + address;
                
            }
        };
    }
</script>

</html>

web服务版

我这里用的CGI,web服务为boa或apache。

ip_pos.html

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <title>
        我找到你了
    </title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
    <span id="ip"></span>
    <br>
    <span id="pos"></span>
    <br>
    <span id="address"></span>
</body>

<script type="text/javascript">
    // 存储IP地址
    var ip = "";
    var xmlhttp;
	if(window.XMLHttpRequest)
	{
		//code for IE7+,Firefox,Chrome,Opera,Safari
		xmlhttp = new XMLHttpRequest();
	}
	else
	{
		//code for IE6,IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.onreadystatechange = function()
	{
		if(xmlhttp.readyState == 4)
		{
			if(xmlhttp.status == 200)
			{
				//将接收到的字符串存入str
				var str = xmlhttp.responseText;
				if(str.length == 0)
				{
					return;
				}
				
				// 解决XML, 解析错误:语法错误
				try //Internet Explorer
				{
					xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
					xmlDoc.async = "false";
					xmlDoc.loadXML(text);
				} catch (e) {
					try //Firefox, Mozilla, Opera, etc.
					{
						parser = new DOMParser();
						xmlDoc = parser.parseFromString(str, "text/xml");
					} catch (e) { alert(e.message) }
				}

				var ret = xmlDoc.getElementsByTagName('p')[0].textContent;
				ip = ret;
                console.log(ip);
                document.getElementById("ip").innerText = "你的IP是" + ip;

                get_pos(ip);
			}
			else
			{
				//alert(xmlhttp.status);
			}

		}
		else
		{
			//alert(xmlhttp.readyState);
		}
	}
	
	xmlhttp.open("GET","cgi-bin/get_ip.cgi?get",true);
	xmlhttp.send();

    function get_pos(ip)
    {
        // 构建url
        var url = "https://restapi.amap.com/v5/ip?key=<你的key>&type=4&ip=" + ip;
        // 建立所需的对象
        var httpRequest = new XMLHttpRequest();
        // 打开连接  将请求参数写在url中 
        httpRequest.open('GET', url, true);
        // 发送请求  将请求参数写在URL中
        httpRequest.send();
        // 经纬度坐标
        var pos = "";
        // 获取数据后的处理程序
        httpRequest.onreadystatechange = function () {
            if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                // 获取到json字符串
                var ret = httpRequest.responseText;
                //console.log(ret);
                // 转为JSON对象
                var json = JSON.parse(ret);
                console.log(json);
                pos = json["location"];
                document.getElementById("pos").innerText = "你的经纬度是" + pos;

                get_addr(pos);
            }
        };
    }
    
    function get_addr(pos)
    {
        var httpRequest = new XMLHttpRequest();
        url = "https://restapi.amap.com/v3/geocode/regeo?key=<你的key>&radius=0&extensions=all&batch=false&location=" + pos;
        httpRequest.open('GET', url, true);
        httpRequest.send();
        httpRequest.onreadystatechange = function () {
            if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                // 获取到json字符串
                var ret = httpRequest.responseText;
                //console.log(ret);
                // 转为JSON对象
                var json = JSON.parse(ret);
                console.log(json);
                var address = json["regeocode"]["formatted_address"];
                console.log(address);
                document.getElementById("address").innerText = "你的地址大概是" + address;
                
            }
        };
    }
</script>

</html>

get_ip.c

配合 cgic.h 和 cgic.c编译 gcc get_ip.c cgic.c -o get_ip.cgi

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "cgic.h"

int cgiMain(void)
{
        // 用于接收环境变量QUERY_STRING
        char *lenstr = NULL;

        // 搜索环境变量 QUERY_STRING,并返回相关的值给字符串lenster。
        lenstr = getenv("QUERY_STRING");
        // 若没有找到环境变量 QUERY_STRING,直接return
        if (lenstr == NULL)
        {
                return -1;
        }

        // 使用MIME头信息″Content-type: text/html\n\n″来输出HTML源代码给Web服务器。
        // 请注意任何MIME头信息后必须有一个空行。一旦发送这个MIME头信息给Web服务器后,Web浏览器将认为随后的文本输出为HTML源代码
        printf("Content-type: text/html\n\n");

        printf("<p>%s</p>", cgiRemoteAddr);
        return 0;
}

JS前端获取客户端用户ip地址的方法第三方
代码青春
02-24 3900
JS前端获取用户ip地址的方法 https://www.cnblogs.com/leigq/p/13406506.html
如何获取用户ip地址
qq_56533553的博客
09-02 6017
前端—>nginx—>网关—>服务。一般情况下后面三个获取ip地址只能是前一个的ip 如网关只能获取到nginx的ip。所以一般情况下我们都需要从前端获取用户ip,再通过header传递下去。用户的 IP 地址可能会被隐藏或者修改,例如使用代理服务器、VPN 等工具,这样就无法准确获取用户的真实 IP 地址。网关配置全局拦截器 implements GlobalFilter 传递ip。
vue前端获取电脑本机的mac和ip地址
最新发布
qq_52132550的博客
08-29 1513
vue 前端 使用 node 里的os 模块获取 本机的ip 和mac地址
前端获取用户ip地址
weixin_62438322的博客
05-16 2238
之前看见几个网站,显示当前我的ip,所在城市什么什么,还帮我查天气,感觉可叼。今天自己来试试。温馨提示:擅自收集用户ip可能涉及侵犯用户隐私(可能,我也不清楚),建议收集前询问用户获取授权。
前端获取用户IP (IP查询API接口)
qq_36370910的博客
04-03 1008
这种免费的API用不了多久就会失效,一般搜索引擎搜到的大多是已经失效的, 如果有需要可以在GitHub里搜关键词, 一般能找到整理好的合集。
获取客户端(前端IP地址
qq_55946937的博客
07-17 1541
前端的 Vue.js 应用中,通常是无法直接获取到当前电脑的局域网 IP 地址的,因为浏览器限制了这类敏感信息的访问。局域网 IP 地址是客户端(浏览器)到服务器端(通常是后端)的连接信息,而不是直接从浏览器获取的。一般情况下,你可能需要通过后端接口来获取客户端的 IP 地址。在 Vue.js 中,可以通过向后端发送请求来获取客户端的 IP 地址。后端可以通过读取请求的 IP 地址头部来获取客户端的真实 IP。后端接收请求并获取请求发送的IP地址。向后端发送除IP外的其他需要记录的数据。
前端获取用户ip地址,并放在请求头上(uniapp和H5)
weixin_60018631的博客
11-29 8152
获取用户ip地址,并在每一次请求的时候带上这个ip地址
jQuery 获取浏览器所在的IP地址的小例子
10-26
在这个回调函数中,我们通过访问返回数据对象的ip属性,来获取用户的公网IP地址。这个IP地址随后被显示在弹出窗口中,即调用了alert(data.ip)函数。 如果在请求过程中出现错误,例如网络问题或服务器无响应,则会...
用户Ip地址和百度地图api接口获取用户地理位置经纬度坐标,城市)
lmrylll的博客
07-01 826
百度地图api新增功能 有时间可以看看。
PHP实例开发源码—IP地址精准定位系统源码 php版.zip
11-22
这个系统能够帮助开发者获取访问者IP地址,并根据该IP地址进行地理位置的精确查找。下面我们将深入探讨其中涉及的关键知识点。 1. **IP地址解析**: - IP地址是互联网上设备的唯一标识,分为IPv4和IPv6两种格式。...
【Django-vue-admin学习笔记】dvadmin用户功能基础models解析
Mr数据杨
04-20 310
通过本文的详细介绍可以看到在一个复杂的软件项目中,如何通过精心设计的数据模型来管理各种类型的信息和业务流程。每个类都是项目中不可或缺的一部分,它们相互协作,提供了一个全面、高效和灵活的数据管理解决方案。从Users类的详细用户管理到类的消息处理,每个模型都通过其方法和属性为软件项目的顺利运行提供支持。这些数据模型展示了在现代软件开发中,结构化和有组织的数据处理方法的重要性,为构建可靠、高效和可扩展的软件应用提供了坚实的基础。
js获取IP地址
11-10
使用javascript获取ip地址,非局域网
【Python】高效的Web自动化测试利器—Python+Playwright快速上手自动化实战指南
墩墩分墩
08-16 1758
**Playwright是微软在` 2020 年初 `开源自动化测试工具,功能和 selenium 类似,都可以驱动浏览器进行各种自动化操作。** - 支持主流浏览器,如Chrome、Firefox、Safari 等,同时支持以**无头模式、有头模式**运行,并提供了**同步、异步的 API**,可以结合 `主流测试框架`使用,并且支持浏览器端的自动化脚本录制等功能。 **特点:** - 跨浏览器:Playwright 支持所有现代渲染引擎,包括Chromium、WebKit 和 Firefox; - 跨
前端项目:获取本地计算机(局域网、公网)真实IP。
Smile_Gently的博客
03-25 2428
前端项目:获取本地计算机(局域网、公网)真实IP。
前端获取Ip地址
Passer_hua的博客
09-21 8449
前端获取IP地址
前端获取IP地址
热门推荐
aminwangaa的博客
06-13 1万+
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>GET IP</title> </head> <body> <div id="dom"></div> </bo...
前端获取用户 IP 地址
pspxuan的博客
10-15 2248
// 请求 soho 接口, 返回值如下: // var returnCitySN = {"cip": "120.228.1.183", "cid": "CN", "cname": "CHINA"}; <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script> // session储存 IP 地址,需要的时候再用 sessionStorage.setItem("userIp.
前端获取客户端IP地址
qq_37172634的博客
03-07 3232
前端有时候会需要使用客户端IP可以通过搜狐的接口获取 let _script = document.createElement('script'); _script.setAttribute('charset', 'utf-8'); _script.setAttribute('type', 'text/javascript'); _script.setAttribute('src', 'https://pv.sohu.com/cityjson?ie=utf-8'); document.getElemen
悄悄告诉你:前端如何获取本机IP,轻松一步开启网络探秘之旅
技术前端,忠于热爱 @0.活在风浪里
07-21 3729
前端获取 本机 IP 教程
Java通过JSF获取客户端IP和MAC地址方法
在Java编程中,有时我们需要获取访问应用的客户端的IP地址和MAC地址。以下是如何在Java环境中完成这个任务的详细步骤。 首先,我们来看如何获取客户端的IP地址。在传统的JSP页面中,可以直接使用`...
写文章

热门文章

  • win10 蓝牙调试工具 Bluetooth LE Explorer 简单使用 65405
  • 网络摄像机(大华)不知道ip地址怎么办?查询IPC的ip地址?修改IPC的ip地址? 52641
  • STM32F103+RFID-RC522模块 实现简单读卡写卡demo 47653
  • Python opencv 简单的车牌识别 —— 简单学习 32796
  • C语言实现-航空订票系统(飞机订票系统)单机版&联网版 24520

分类专栏

  • AI 4篇
  • 数据处理 1篇
  • C 48篇
  • 教程 26篇
  • 笔记 36篇
  • PAT 22篇
  • Linux 30篇
  • C++ 28篇
  • JS 18篇
  • 前端 18篇
  • 嵌入式 32篇
  • Arduino 4篇
  • STM32 12篇
  • cordova 2篇
  • opencv 2篇
  • YOLO 1篇
  • 蓝牙 6篇
  • Windows 3篇
  • STM8 1篇
  • 爬虫 3篇
  • Vue 1篇
  • 51单片机
  • shell 2篇
  • EasyX 1篇
  • python 19篇
  • 草稿
  • 摄像头 6篇
  • ONVIF相关 3篇
  • C/C++程序 7篇
  • 嵌入式web服务器 5篇
  • ARM 6篇
  • 数据库 6篇
  • Qt 4篇
  • hexo 1篇
  • Java 3篇
  • pr 1篇
  • 数据结构 1篇
  • 算法 3篇
  • 网络通信 7篇
  • html 8篇

最新评论

  • STM32F103+RFID-RC522模块 实现简单读卡写卡demo

    Love丶伊卡洛斯: 要做全卡复制,不然可能有部分校验数据缺失导致无法使用

  • STM32F103+RFID-RC522模块 实现简单读卡写卡demo

    小小的偷盗者: 博主大佬,请教个问题,我通过RC522读取出手环门禁的Sector:2信息,通过写入到M1卡内,去刷我家的门,手环刷的能开门,M1卡刷的开不了,我通过手机NFC Writer读取两者的信息,除了ID,Sector:0是不同,其他的信息都是相同的。这是什么原因啊,还请指教下

  • 使用ajax+cgi,实现网页如何把数据通过AJAX发给后台CGI和后台CGI如何把数据返回到网页的指定控件显示,小案例

    小新_l97: 兄弟我跟你一样,解决了么?

  • STM32F103+RFID-RC522模块 实现简单读卡写卡demo

    weixin_44584853: 感谢大佬!刚好最近在开发,头疼死了

  • Cordova 使用 cordova-plugin-ble-central 蓝牙插件,实现蓝牙设备持续扫描,打印RSSI等信息 RSSI三点定位 demo

    Love丶伊卡洛斯: 参考文章内的GIF演示图

最新文章

  • ordinaryroad-barrage-fly wsl部署记录
  • 前端实现 http请求中 表单请求体和json请求体的互相转换,外加转为 冒号换行格式,用于ApiFox批量导入
  • STM32F103、F0等各类芯片 Keil支持包获取与安装步骤
2024年5篇
2023年10篇
2022年18篇
2021年42篇
2020年34篇
2019年86篇
2018年9篇
2017年8篇

目录

目录

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Love丶伊卡洛斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳坪山网站建设公司网站优化关键词多久能到首页如何提升网站关键词优化排名伊春网站推广优化网站怎么优化来爱云速捷榆林衡水网站优化价格五河网站seo优化汽车网站seo优化优化网站从哪里开始重庆湖北建站网站优化网站优化运营岗位职责酒泉市优质网站优化汕头网站优化关键词哪家好黑帽优化的网站分析网站快速优化弊云速捷明白泰州优化网站价格泉山区网站优化哪家便宜网站优化排名哪家好徐汇区公司网站优化方案定制网站内链接优化排名网站优化南昌专业seo连州网站优化天津靠谱的服装行业网站优化上饶县网站优化渠道广东企业网站优化公司网站关键词自己能优化吗山东省网站推广优化网站流量整站优化郑州网站优化推广怎么样项城网站自然优化报价低成本网站优化哪家好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化