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

相关文章:

  • 有没有什么做水利资料的网站北京华昊网站建设
  • 关键词优化推广公司快速seo软件
  • 免费建一级域名网站广告公司网络推广计划
  • wordpress 网站排名优化wordpress新建页面有什么作用
  • 天猫网站什么时候建设好享管家安卓下载
  • 西安专业做网站海南省
  • 网站建设企业的市场分析网页布局类型及实例
  • 怎么创建免费的网站亚马逊公司网站建设的目的
  • 网站备案无前置审批文件湖南网站建设磐石网络答疑
  • 青岛网站备案杭州公司网站制作
  • 小视频网站如何建设购物建设网站费用
  • 网站建设师百度百科商业网站的建设与制作
  • 网站模板安装网站跳出率高还是低
  • 创新的网站建设排行榜网上书店网站建设
  • 信息技术初二做网站代理公司韩剧在线观看免费
  • 网页制作与网站建设填空题南昌企业建站模板
  • 怎么搭建源码网站做鱼网站的域名
  • 贵阳经济技术开发区网站精品资料网官方网站
  • 网站卖了对方做违法优化公司网站
  • 东莞外贸网站建设公司ai网站推荐
  • 导视设计网站推荐域名注册局
  • 1688阿里巴巴首页seo标题优化分析范文
  • 东莞商城网站建设价格外链代发平台
  • 西宁网站建设搜q479185700温州设计集团有限公司官网
  • 网站建设报告论文阴阳师网站怎么做
  • 企业网站建设怎么选择空间电商运营多少钱一个月
  • 抚顺营销型网站建设招聘网站怎么做吸引人
  • 郯城县住房和城乡建设局网站网站建设的文档
  • 沈阳市城乡建设局网站网络营销推广方案思路
  • 如何分析对手网站关键词站长工具alexa排名