一:主要内容

  • 获取云巴appkey和seckey
  • 状态回复说明
  • get请求
  • post请求

二:获取云巴appkey和seckey

1. 注册云巴

在云巴官网,注册一个云巴账号,官网地址:https://yunba.io/

2. 创建应用

注册账号成功后,会跳转到我的应用列表页面,点击创建应用,输入应用名称和应用包名,点击确定创建应用

2. 查看appkey和seckey

应用创建成功后,点击应用名称,可以查看该应用详情信息,就可以看到appkey和seckey了

三:状态回复说明

1. 发送成功

{"status":0, "messageId": "<message-id>"}

2. 参数错误

{"status":1, "error": "invalid parameters"}

3.内部服务错误

{"status":2, "error": "internal server"}

4.没有应用

{"status":3}

5.发布超时

{"status":4, "error": "timeout"}

6.没有找到 Alias

{"status":5, "alias":"567a4a754407a3cd028aaf6b-test", "error": "alias not found"}

四:get请求

#encoding=utf8
import requests

#Get method encapsulation
def getWebsocket(msg,result):
    data ={
        "method": "publish",
        "appkey": "这里填你自己的应用的appkey,就是上面二中获取的数据",
        "seckey": "这里填你自己的应用的seckey,就是上面二中获取的数据",
        "topic": "这里填频道的名称,如channel1",
        "msg": msg
    }
    results = requests.get(url='http://rest.yunba.io:8080', params=data)
    print(results.content)
    resultdata = results.json()
    resultcode = resultdata['status']
    if (0 == resultcode):
        print("Connect websocket to "+result+" messages successfully!")
    else:
        print("Connecting websocket to "++result++" messages failed!")

if __name__ == "__main__":
    #发送消息
    getWebsocket("interfacetest","send msg")

四:post请求

#encoding=utf8
import json
import requests

#post method encapsulation
def postWebsocket(msg,result):
    data ={
        "method": "publish",
        "appkey": "这里填你自己的应用的appkey,就是上面二中获取的数据",
        "seckey": "这里填你自己的应用的seckey,就是上面二中获取的数据",
        "topic": "这里填频道的名称,如channel1",
        "msg": msg
    }

    headers = {'Content-Type':'application/json'}
    values = json.dumps(data)

    results = requests.post('http://rest.yunba.io:8080', data=values, headers=headers)
    print(results.content)
    resultdata = results.json()
    resultcode = resultdata['status']
    if (0 == resultcode):
        print("Connect websocket to "+result+" messages successfully!")
    else:
        print("Connecting websocket to "+result+" messages failed!")

if __name__ == "__main__":
    #发送图片
    postWebsocket("{'img': 'https://www.baidu.com/img/baidu_jgylogo3.gif'}","send picture")
    #发送视频
    postWebsocket("{'video':'https://vjs.zencdn.net/v/oceans.mp4'}", "send video")

python3 get post请求Yunba RESTful API的更多相关文章

  1. Chrome Restful Api 测试工具 Postman-REST-Client离线安装包下载,Axure RP Extension for Chrome离线版下载

    [Postman for Chrome 离线下载] Postman-REST-Client离线安装包,可直接在Chrome浏览器本地安装使用,可模拟各种http请求,Restful Api测试, CS ...

  2. RESTful API的理解

    技术交流的时候遇到了这样的一个问题,被问及开发中用到的是不是Restful API,我说的是,我们现在用到的不属于完全是Restful API.因为我了解到的Restful API,是 通过具体的UR ...

  3. Django编写RESTful API(二):请求和响应

    欢迎访问我的个人网站:www.comingnext.cn 前言 在上一篇文章,已经实现了访问指定URL就返回了指定的数据,这也体现了RESTful API的一个理念,每一个URL代表着一个资源.当然我 ...

  4. 使用WebApiClient请求和管理Restful Api

    前言 本篇文章的内容是WebApiClient应用说明篇,如果你没有了解过WebApiClient,可以先阅读以下相关文章: WebApi client 的面向切面编程 我来给.Net设计一款Http ...

  5. HTTP请求封装:Ajax与RESTful API

    一.HTTP请求 HTTP即超文本传输协议,用以进行HTML 文件. 图片文件. 查询结果等的网络传输. 一个完整的HTTP请求包括:请求行.请求头.空行和请求数据(请求数据可以为空) HTTP1.1 ...

  6. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

  7. 请求与上传文件,Session简介,Restful API,Nodemon

    作者 | Jeskson 来源 | 达达前端小酒馆 请求与上传文件 GET请求和POST请求 const express = require('express'); const app = expre ...

  8. httpclient连接池在ES Restful API请求中的应用

    package com.wm.utils; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http ...

  9. 4- vue django restful framework 打造生鲜超市 -restful api 与前端源码介绍

    4- vue django restful framework 打造生鲜超市 -restful api 与前端源码介绍 天涯明月笙 关注 2018.02.20 19:23* 字数 762 阅读 135 ...

随机推荐

  1. noip第33课作业

    1.    排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...

  2. libtool 创建库的工具

    libtool 创建库的工具 1. 背景 在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的用法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样. 对于开发人 ...

  3. js-随机图片

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...

  4. 修改vsftpd的默认根目录

    修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可: 加入如下几行: local_root=/var/www/html chroot_local_user=YES ano ...

  5. ctags的如何生成tags文件

    tags 在使用vim编程和浏览代码是非常有用.可以用CTRL+]和CTRL+t 来回跳转关键字.先生成自己工作目录的tags.最简单粗暴用法: $cd yourwork $ctags -R * 这样 ...

  6. [Objective-C语言教程]字符串(16)

    Objective-C编程语言中的字符串使用NSString表示,其子类NSMutableString提供了几种创建字符串对象的方法. 创建字符串对象的最简单方法是使用Objective-C的标识符: ...

  7. 关于OC中的几种延迟执行方式

    第一种: [UIView animateWithDuration: delay: options: animations:^{ self.btn.transform = CGAffineTransfo ...

  8. Node.js中的模块接口module.exports浅析

    在写node.js代码时,我们经常需要自己写模块(module).同时还需要在模块最后写好模块接口,声明这个模块对外暴露什么内容.实际上,node.js的模块接口有多种不同写法.这里作者对此做了个简单 ...

  9. RabbitMQ AMQP (高级消息队列协议)

    目录 RabbitMQ AMQP (高级消息队列协议) Message Queue 简介 概念 基本组成 场景及作用 AMQP简介 模型架构 基础组件 AMQP-RabbitMQ 简介 模型 特性 参 ...

  10. Python之Pyautogui模块20180125《PYTHON快速上手让繁琐的工作自动化》18章

    复习 PyAutoGUI 的函数本章介绍了许多不同函数,下面是快速的汇总参考:moveTo(x,y)将鼠标移动到指定的 x.y 坐标.moveRel (xOffset,yOffset)相对于当前位置移 ...