一:主要内容

  • 获取云巴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. JavaScript 获取鼠标点击位置坐标

    在一些DOM操作中我们经常会跟元素的位置打交道,鼠标交互式一个经常用到的方面,令人失望的是不同的浏览器下会有不同的结果甚至是有的浏览器下没结果,这篇文章就上鼠标点击位置坐标获取做一些简单的总结,没特殊 ...

  2. SRM475

    250pt: 题意:有最长N=17的一条格子,每个格子是W.B和R三种颜色之一,当某个格子上有兔子时,下一个回合该兔子按照以下的规则移动: 如果兔子在第一个格子,则向右移动一格: 否则如果兔子在倒数两 ...

  3. HDU 1556 区间查询

    Color the ball Time Limit: 3000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Ja ...

  4. 10.scrapy入门

    Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...

  5. unidbgrid单元格操作

    unidbgrid单元格操作 //GRID里回车替换TABfunction cellkeydown(sender, td, cellIndex, record, tr, rowIndex, e, eO ...

  6. 在线团队协作工具+在线UML工具

    话不多说直接上https://worktile.com去看,顺便附上小众软件上面的介绍 默默增加worktile的外国原版https://trello.com/,worktile照着trello做的, ...

  7. 数独 php

      数独求解程序 php版 转载请注明出处:http://xiezhenye.com/2008/06/%e6%95%b0%e7%8b%ac%e6%b1%82%e8%a7%a3%e7%a8%8b%e5% ...

  8. Aspose.Words 将word2中的内容插入到word1中的指定位置

    将word2中的内容插入到word1中的指定位置(经测试可用) 在官网找到的例子,记录一下: public static void InsertDocumentAtBookmark(string da ...

  9. git如何忽略已经加入版本控制的文件

    git移除已经追踪的文件 有时候新增一个文件,会自动追加到git的版本控制当中,但是又不想提交到仓库.可以按照下面的步骤: git status 查看管理状态: ml-py git:(master) ...

  10. Android自定义组合控件详细示例 (附完整源码)

    在我们平时的Android开发中,有时候原生的控件无法满足我们的需求,或者经常用到几个控件组合在一起来使用.这个时候,我们就可以根据自己的需求创建自定义的控件了,一般通过继承View或其子类来实现. ...