当前位置: 首页 > 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/134117/

相关文章:

  • 网站维护升级访问中建设集团公司简介
  • 汕头论坛网站建设做外账经常进哪几个网站
  • 网站改版降权多久恢复网站开发怎么报价单
  • 家居网站建设策划开发做网站软件frontpage
  • 网站内容是什么长沙房地产网站设计
  • 2015做那些网站致富买卖网交易平台
  • 网站开发项目启动成本wordpress 免费 模板下载地址
  • 安徽省建设协会网站大连网页制作培训学校
  • 晋中推广型网站开发嘉兴做网站公司
  • 浙江台州做网站的公司有哪些酒店网站建设公司排名
  • 拍卖网站建设无锡网站建设价格低
  • php网站开发演讲稿广州公司注册流程及需要的材料
  • 免费网站建设塔山双喜物流网站开发
  • 成都网站建设价格公司的网站怎么做
  • 网站做权重建筑设计软件哪个好用
  • 网站首页做几个关键词仿煎蛋wordpress主题
  • 网站所有者是什么意思宁波市住房和城乡建设培训中心网站
  • 北京网站推广服务企业网站的功能主要有
  • 柳州网站建设网站策划书包含的内容
  • 购物网站开发目的重庆品牌网站建设公司
  • 写作网站哪个最好工信部网站备案怎么登录
  • 响应式企业网站 下载深圳景观设计公司10强
  • 如何做好集团网站建设公司对比网站
  • 深圳哪家网站建设服务好手机移动网站建设
  • 福田网站建设论文结论高端网站建设系统规划
  • 网站开发语言php5.1收购域名
  • 网站支付页面怎么做东莞品牌vi设计
  • 怎么写网站学校门户网站建设报告
  • 滕州做网站哪家好南浔建设局网站
  • 优质的天津网站建设电子商务门户网站的研究与实现