networkRequest
void TPHttp::applyResource()
{
QJsonObject json;
json.insert("ProductCode","MoVdoSource");
json.insert("TempletType","");
QJsonDocument document;
document.setObject(json);
QByteArray byte_array=document.toJson(QJsonDocument::Indented);
QString str_1(byte_array);
qDebug("apply source:\n%s",str_1.toStdString().c_str());
request.setUrl(QUrl("http://mediax.sobeycache.com/version/getSoftLists"));
// 设定请求头
// request.setRawHeader("Host", "mediax.sobeycache.com");
// request.setRawHeader("Content-Length",QString::number(byte_array.size()).toStdString().c_str());
request.setRawHeader("Accept-Charset", "UTF-8");
request.setRawHeader("Content-type","text/plain");
request.setRawHeader("Connection", "keep-alive");
reply=manager->put(request,byte_array);
connect(reply, SIGNAL(readyRead()),
this, SLOT(applyReady()));
}
void TPHttp::applyReady()
{
QByteArray recData=reply->readAll();
QJsonParseError json_error;
QJsonDocument parse_doucment = QJsonDocument::fromJson(recData, &json_error);
QString str_1(recData);
qDebug("apply resources:\n%s",str_1.toStdString().c_str());
// if(json_error.error == QJsonParseError::NoError)
// {
// if(parse_doucment.isObject())
// {
// QJsonObject obj = parse_doucment.object();
// if(obj.contains("code"))
// {
// QJsonValue code_value = obj.take("code");
// double dcode;QString str_mess;
// if(code_value.isDouble())
// {
// dcode=code_value.toDouble();
// str_mess.setNum(dcode,'g');
// // QString("delta: %1").arg(d, 0, 'E', 3);
// }
// else if(code_value.isString())
// {
// str_mess=code_value.toString();
// }
// if(!str_mess.compare("0"))
// {
// qDebug("success login");
// genelogfile(m_usrname,m_password);
// m_bLogined=true;
// emit bLoginedChanged(m_bLogined);
// }
// else
// {
// if(!str_mess.compare("10001"))
// qDebug("password and user are error");
// else if(!str_mess.compare("10003"))
// qDebug("Don't have this user");
// else if(!str_mess.compare("10004"))
// qDebug("password is error");
// m_bLogined = false;
// // emit bLoginedChanged(m_bLogined);
// }
// }
// }
// }
}
第四节 MoVdo资源查询接口
接口调用地址
http://mediax.sobeycache.com/version/getSoftLists
功能
获取魔豆资源列表,可以根据模板类型(TempletType)进行过滤查询,不填模板类型表示查询所有资源。
调用方式
HTTP
POST
参数
参数样例
{
"ProductCode"
: "MoVdoSource",
"TempletType":"字幕模板"
}
参数说明
ProductCode:必填项,这里固定填MoVdoSource,
TempletType:可选项,根据在VBOSS新建资源时所设置的版本类型进行过滤;不填数据时,查询所有魔豆的资源
接口调用返回数据
接口调用成功后,返回如下格式的JSON
数据:
{
"status"
: 1,
"result"
: "",
"soft_list"
: [
{
"id"
: "30",
"product_id"
: "10",
"product_code"
: "MoVdoSource",
"inside_version"
: "100",
"templet_type"
: "字幕模板",
"versionname"
: "主题",
"description"
: "测试",
"version"
: "1.0",
"filepath"
: "http://api.vboss.sobey.com/static/Setup/dxwebsetup.exe",
"iconpath"
: "http://api.vboss.sobey.com/static/Setup/Media10_1.0.0_icon.png",
"filesize"
: "1",
"md5code"
: "36A5D102EF30A2CA60200362F8ABB122",
"modified"
: "2015-07-31 14:47:31"
}
]
}
五、接口调用出错CODE及其含义
当调用VBOSS用户注册管理各接口出错时,也会返回JSON数据,这时JOSN的code为非零数字,比如:
{
"code" : "10002",
"msg" : "缺少相应参数"
}
注:code值对应的信息如下:
0
: 操作成功
00001
: 网络异常
00002
: 响应超时
00003
: 数据库操作失败
00004
: 参数不合法
10001
: 用户名密码不匹配
10002
: 缺少相应参数
10003
: 查无此用户
10004
: 密码错误
10005
: pin值不正确
10006
: 用户名/邮箱/手机号已被注册
10007
: 用户名已被注册
10008
: 邮箱已被注册
10009
: 手机号已被注册
50001
: 加密/解密数据为空或不合法
networkRequest的更多相关文章
- 微信小程序 不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html
微信小程序 不在以下合法域名列表中,请参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html 友情提示: 大家 ...
- 与改写url取文件的方法:NetworkRequest和DataAccessSerivice 文件
与改写url取文件的方法:NetworkRequest和DataAccessSerivice 文件 CMDNMapDataCache.cpp 读取二进制代码的方法
- 【原】AFNetworking源码阅读(一)
[原]AFNetworking源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 AFNetworking版本:3.0.4 由于我平常并没有经常使用AFNetw ...
- android 7.0 学习笔记(一)
导读 增强的Doze模式 后台优化 Data Saver 一.增强的Doze模式 Android N对Android M引进的Doze模式进行了进一步的增强,变化体现在两个方面.一方面是降低了进入Do ...
- Android之mtklog分析
Android之mtklog分析 [海外场测反馈][xxx]动态测试时对比机xxxx拨打测试机xxxxx自动挂断电话 工作中遇到一个掉话的问题,需要分析log,log比较大,我也没法上传,就简答的讲讲 ...
- Android WIFI 分析(二)
本文介绍Wifi 分析线路二:在Setting中打开WiFi功能.扫描网络以及连接网络的流程. WifiSettings 无线网络设置界面 WifiEnabler 相当于无线网络设置开关 WifiDi ...
- ReactiveCocoa学习总结
最近一直断断续续学习关于ReactiveCocoa的知识内容,对于它的一些基础内容将通过本文进行一个总结,主要是一些入门知识 一:RACSignal一些运用 @interface RACSignalT ...
- volley二次封装
产品中使用Volley框架已有多时,本身已有良好封装的Volley确实给程序开发带来了很多便利与快捷.但随着产品功能的不断增加,服务器接口的不断复杂化,直接使用Volley原生的JSONObjectR ...
- fedora环境安装webkit支持作爬虫下载解析JS
环境: 我使用的fedora19.1-xfce版本,属于redhat系的桌面环境. 1.安装 webkit源码安装webkit失败,这里提供的是yum安装方式. a.查看当前yum库中的webkit资 ...
随机推荐
- solr使用方法 完全匹配
最近一直被solr的搜索困扰,搜索汉字时不能搜索出自己想要的内容,经过研究和查询发现,问题出在没有完全匹配上,主要还是对solr使用不太熟练. 解决方法:以前UserRealname:某某家长,这样搜 ...
- C++ Combobox输入时自动完成
Combobox 在输入时自动完成 关键点 实现过程 BOOL m_bAuto; BOOL CProject02Dlg::PreTranslateMessage(MSG* pMsg) { i ...
- 高亮选中MEMO某一行
选中第5行 //转到指定行并选中这行的文本 procedure SelectLine(Memo1: TMemo; ln: Integer); begin Memo1.SelStart := SendM ...
- jqgrid表格列动态加载的实现
选中几个测点名,在表格中就显示几列. 具体代码如下: function reloadGrid(postData){ $('#gridTable').jqGrid('GridUnload'); var ...
- 神奇的 BlocksKit(1):源码分析(下)
私有类 _BKObserver _BKObserver 是用来观测属性的对象,它在接口中定义了 4 个属性: @property (nonatomic,readonly,unsafe_unretain ...
- Insert后返回自动插入的生成的ID:select @@identity
当运行完插入语句后,执行select @@identity就可得到自动生成的id 如果是sql server 最好用:select SCOPE_IDENTITY() as id因为@@identity ...
- ng1中 如何用双向绑定 实现单向绑定的初始时不显示双括号效果?
ng1中 如何用双向绑定 实现单向绑定(ng-bind就可以不显示{{}})的初始时不显示双括号效果? AngularJS 实例 页面加载时防止应用闪烁: <div ng-app="& ...
- Sublime Text2配置python环境
1.下载python并安装 地址:https://www.python.org/downloads/ 2.下载Sublime Text2 并安装 地址:http://www.subli ...
- Linux搭建SSH服务器
Linux 远程登录服务:ssh ·SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Te ...
- 下载和安装cocoaPods
ios中一些三方的库用的cocoaPods管理.管理三方库非常的方便 简单说一下安装步骤 1.sudo gem install cocoapods2.gem sources --remove http ...