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

QT使用gsoap获取手机归属地

1-环境变量 用的win32

E:\hes_scc\tools\gsoap_2.8.134\gsoap-2.8\gsoap\bin\win32

2-生成代码接口

自己建一个目录,在此打开cmd窗口,生成的文件都会在这个文件夹中。

这里用的手机归宿地。

wsdl2h -o GetPhoneInfo.h -s -n Phone -t ....\typemap.dat http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

soapcpp2 -i -x -C GetPhoneInfo.h -I E:\hes_scc\tools\gsoap_2.8.134\gsoap-2.8\gsoap\import

然后目录中会生成一些文件。

说明:E:\hes_scc\tools\gsoap_2.8.134\gsoap-2.8\gsoap\import这个路径必须要选,不然会报错

此时路径下会生成一些文件,还需要手动拷贝一些别的文件

3-拷贝必要文件

需要拷贝3个文件过来

文件路径:E:\hes_scc\tools\gsoap_2.8.134\gsoap-2.8\gsoap\import

E:\hes_scc\tools\gsoap_2.8.134\gsoap-2.8\gsoap

4-加入工程

把所有文件都添加到qt的工程中。

现在编译还会报一堆错,需要添加一下库文件,在pro文件中添加,路径是自己的编译器路径

LIBS += D:\Qt\Qt5.9.9\Tools\mingw530_32\i686-w64-mingw32\lib\libws2_32.a

在stdsoap2.cpp中添加一个宏定义,在 #define GSOAP_LIB_VERSION 208134 后面

#define WITH_NONAMESPACES

现在编译就不会报错了。

5-获取结果中文乱码

//设置编码,不然中午会乱码

soap_set_mode(&mcsp,SOAP_C_UTFSTRING);

6-接口调用

//这个头文件必要的

#include "gsoap/soapMobileCodeWSSoapProxy.h"

void MainWindow::on_pushButton_clicked()
{MobileCodeWSSoapProxy mcsp;_Phone1__getMobileCodeInfo para;_Phone1__getMobileCodeInfoResponse resp;//设置编码,不然中午会乱码soap_set_mode(&mcsp,SOAP_C_UTFSTRING);para.mobileCode = ui->lineEdit->text().toLatin1().data();if(mcsp.getMobileCodeInfo(&para,resp) != SOAP_OK){ui->textEdit->append(QString("search %1 is failed").arg(ui->lineEdit->text()));return;}QString recv = (resp.getMobileCodeInfoResult);qDebug()<<recv;ui->textEdit->append(recv);}

7-效果

http://www.lryc.cn/news/355584.html

相关文章:

  • 抖音本地生活服务商入驻指南分享!
  • 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四
  • vs2019 c++20 规范的 STL 库的智能指针 shared、unique 、weak 及 make_** 函数的源码注释汇总,和几个结论
  • 【大模型】 基于AI和全球化进程的权衡:开源大模型与闭源大模型
  • 强化学习——学习笔记
  • NAT简介
  • 联想凌拓 NetApp AFF C250 全闪存存储助力丰田合成打造数据新“引擎”
  • 红队技巧:仿冒Windows登录
  • 821. 字符的最短距离 - 力扣
  • BI工具如何为金融行业带来变革?金融行业营销管理策略大揭秘
  • 操作系统 - 计算机系统概述
  • [论文笔记]REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS
  • []下标的意义
  • 去重复记录和排序——kettle开发09
  • 中创算力与中国移动初步达成战略合作意向,共同构建智能生态圈!
  • 基础—SQL—DML(数据操作语言)插入数据
  • 【改變,是面對的開始】
  • AI大模型实现德语口语练习
  • 一文读懂npm i的命令以及作用
  • You don‘t have enough free space或者no space left on device异常
  • 饮料添加剂新型褪色光照试验仪器太阳光模拟器
  • ElasticSearch - 删除已经设置的认证密码(7.x)
  • 9.4 Go语言入门(运算符)
  • CLIP 源码分析:simple_tokenizer.py
  • AWS安全性身份和合规性之Shield
  • Midjourney入门篇 | 打造最逼真的照片(强烈推荐)
  • 【运维自动化-配置平台】如何跨业务转移主机
  • connection problem,giving up
  • Linux-----sed案例练习
  • 【华为OD机试-C卷D卷-200分】运输时间(C++/Java/Python)