当前位置: 首页 > news >正文

重生主角做视频网站的小说淘宝网站开发系统

重生主角做视频网站的小说,淘宝网站开发系统,装修网站建设方案百度文库,网站开发设计素材前言: 在写一个天气预报模块时,需要一个定位功能,在网上翻来翻去才找着,放在这里留着回顾下,也帮下有需要的人 正文: 一开始我想着直接调用百度地图的API来定位, 然后我就想先获取本机IP的方…

前言:

在写一个天气预报模块时,需要一个定位功能,在网上翻来翻去才找着,放在这里留着回顾下,也帮下有需要的人

正文:

  1. 一开始我想着直接调用百度地图的API来定位,
    在这里插入图片描述

  2. 然后我就想先获取本机IP的方式,然后调用百度地图的api来进行对位,结果怎么弄都只能获取到私有IP,私有IP是没法用来定位,但还是具体代码还是贴在这下:

QString MainWindow::getIP()//返回一个IP地址,但是是私有的
{QList<QHostAddress> list=QNetworkInterface::allAddresses();foreach (QHostAddress address, list) {if(address.protocol()==QAbstractSocket::IPv4Protocol)return address.toString();}return "0.0.0.0";
}
  1. 重点来了,我找到了一个可以获取公有IP和当前用户所在市的API,http://whois.pconline.com.cn/ipJson.jsp?json=true,调用这个API,就可以了
  • 要调用之前,要写一个类去存放(拆解)返回JSON数组,很简单,毕竟这个JSON数组的内容很少
#include <QObject.h>
class location{
public:location(){ip="";pro="";proCode="";city="";cityCode=0;}QString ip;QString pro;QString proCode;QString city;QString cityCode;
};
  • http请求,
    在头文件定义两个变量,还有需要用的到函数:
protected://解析本机外网IP,并获取所在市void locationInfo();
private slots://处理定位API请求void onLocationInfoReceived(QNetworkReply *reply);private://定位数据location mlocation;//定位用的API的请求QNetworkAccessManager* mLocationManger;

放在在构造函数:

    //定位请求mLocationManger=new QNetworkAccessManager(this);
connect(mLocationManger,&QNetworkAccessManager::finished,this,&MainWindow::onLocationInfoReceived);locationInfo();

void MainWindow::locationInfo()
{QUrl url("http://whois.pconline.com.cn/ipJson.jsp?json=true");mLocationManger->get(QNetworkRequest(url));
}
void MainWindow::onLocationInfoReceived(QNetworkReply *reply)
{if (reply->error() == QNetworkReply::NoError) {QString data = QString::fromLocal8Bit(reply->readAll());QJsonDocument jsonDocument = QJsonDocument::fromJson(data.toUtf8());QJsonObject jsonObject = jsonDocument.object();qDebug()<<"read all:"<<jsonObject;mlocation.ip = jsonObject.value("ip").toString();mlocation.pro = jsonObject.value("pro").toString();mlocation.proCode = jsonObject.value("proCode").toString();mlocation.city = jsonObject.value("city").toString();mlocation.cityCode = jsonObject.value("cityCode").toString();} else {qDebug() << "Location request error: " << reply->errorString();}qDebug()<<mlocation.city;//请求天气信息getWeatherInfo(mlocation.city);reply->deleteLater();//deleteLater 是 Qt 框架中的一个方法,用于在对象的生命周期结束时安全地删除对象
}
http://www.yayakq.cn/news/939079/

相关文章:

  • 中山网站建设文化咨询搜狐一开始把网站当做什么来做
  • 快钱支付需要网站备案吗炫酷网站界面设计
  • 网站如何制作注册合肥网站建设电话咨询
  • 安徽四建东方建设有限公司网站做外贸的网站看啥书
  • 泰塔科技网站建设word模板
  • 个人做网站用哪个主机好百度打广告多少钱
  • 北京app开发网站建设如何利用国外的网站开发客户
  • 国内做家具外贸的网站有哪些wordpress安装模板文件
  • 金方时代做网站怎么样wordpress 写作主题
  • 龙华区住房和建设局网站辽宁省建设工程信息网官网新网站
  • 刷赞网站推广免费软件中国建设企业银行官网站
  • 中国设计网站排行榜前十名wordpress 主题 单栏
  • 中英文网站开发费用百度域名查询官网
  • 网站代备案高端网站设计图片
  • 做ppt配图好用的网站名片在哪个网站可以做
  • 怎么建一个小说网站seo技术服务
  • 临沂经开区建设局网站做网站都要掌握什么
  • 营销网站主题有哪些内容wordpress 留言板代码
  • 哪家网站遴选做的比较好武安做网站
  • 有没有可以做游戏的网站建材类网站建设方案
  • 建设银行官网首页网站深圳创新投资公司官网
  • 软件 行业门户网站python做网站好处
  • 网站在别人那里已经建好了_公司里要进行修改_怎么做口碑好网站建设费用
  • 建设社区网站有什么借鉴之处四川城乡和建设厅网站
  • 做维修那个网站发布信息好江苏中小企业建站价格
  • 用dw做网站 主题是哪个网站建设台词
  • 网站开发和设计如何合作wordpress 显示小工具栏
  • 怎么建论坛网站免费营销课程培训
  • 上海网站建设 上海网站制作分销系统小程序开发
  • 上海集团网站制作社区门户网站建设