以青云客机器人和图灵机器人接口示范python发送get和post

  发送请求,我们这里主要使用Python的一个第三方包(需要先安装):requests。 Python3自带的http.client和urllib.request都能发送http请求,不过相对来说使用较麻烦,第三方库requests让发送请求更简单,支持自动编码解码,会话保持,长连等。 
  requests安装:
pip install requests  #  等待安装完成即可
  验证是否安装成功:打开命令行,输入python,在python shell环境下输入import requests没有报错即安装成功。

一、requests的使用:

1、一个最简单的GET请求

发送一个请求分3步:
1. 组装请求: 请求可能包含url,params(url参数),data(请求数据),headers(请求头),cookies等,最少必须有url
2. 发送请求,获取响应:支持get,post等各种方法发送,返回的是一个响应对象
3. 解析响应: 输出响应文本
# 导入模块
import requests # 组装请求
url_baidu = "https://www.baidu.com" # 发送请求
res = requests.get(url=url_baidu) # 解析响应
print(res.text)

2、一个最简单的post请求

# 导入测试模块
from urllib import parse
import requests # 组装请求
url = 'http://httpbin.org/post'
info = {'name': 'python', 'password': 'abcd123'}
post_data = parse.urlencode(info).encode('utf-8') # 发送请求
req = requests.post(url, data=post_data) # 解析返回
print(req.text)

二、以青云客聊天机器人为例示范get请求

官方网址:http://api.qingyunke.com/

1、接入指引

请求地址    http://api.qingyunke.com/api.php
请求方式 GET 字符编码 utf-8
请求示例 http://api.qingyunke.com/api.php?key=free&appid=0&msg=你好
参数        示例         说明
key free 必需,固定值
appid   0 可选,0表示智能识别
msg 你好 必需,关键词,提交前请先经过 urlencode 处理
返回结果    {"result":0,"content":"你好,我就开心了"}

☆ 返回结果中{br}表示换行,请自行替换成需要的代码。
☆ 为保证接口稳定,调用频率请控制在200次/10分钟内,我们正在努力提供更稳定的服务

完整请求URL示例:
http://api.qingyunke.com/api.php?key=free&appid=0&msg=你好

其他内容示例:

 1 天气:msg=天气深圳
2 中英翻译:msg=翻译i love you
3 智能聊天:msg=你好笑话:msg=笑话
4 歌词⑴:msg=歌词后来
5 歌词⑵:msg=歌词后来-刘若英
6 计算⑴:msg=计算1+1*2/3-4
7 计算⑵:msg=1+1*2/3-4
8 IP⑴:msg=归属127.0.0.1
9 IP⑵:msg=127.0.0.1
10 手机⑴:msg=归属13430108888
11 手机⑵:msg=13430108888
12 成语查询:msg=成语一生一世
13 五笔/拼音:msg=好字的五笔/拼音

2、封装函数

2.1 封装示例:

# 导入模块
import requests
from urllib import parse # 组装请求
def test_get(msg):
url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(parse.quote(msg))
html = requests.get(url)
return html.json()["content"] # 解析返回并打印
while True:
msg = input("我:")
res = test_get(msg)
print("答:", res)

2.2 执行返回结果:

C:\Users\yzp\AppData\Local\Programs\Python\Python37\python.exe D:/00test/RFTEST/qingyunke
我:您是谁?
答: 我是机器人
我:您在哪?
答: 我在找您
我:您要去哪里?
答: 哪也别去,改天菲菲带你去吧

三、以图灵聊天机器人为例示范post请求

1、接口说明

API V2.0是基于图灵机器人平台语义理解、深度学习等核心技术,为广大开发者和企业提供的在线服务和开发接口。目前API接口可调用聊天对话、语料库、技能三大模块的语料:

  • 聊天对话是指平台免费提供的近10亿条公有对话语料,满足用户对话娱乐需求;
  • 语料库是指用户在平台上传的私有语料,仅供个人查看使用,帮助用户最便捷的搭建专业领域次的语料。
  • 技能服务是指平台打包的26种实用服务技能。涵盖生活、出行、购物等多个领域,一站式满足用户需求。/2、 使用说明

2、编码方式:

UTF-8(调用图灵API的各个环节的编码方式均为UTF-8)/3、接口地址:

http://openapi.turingapi.com/openapi/api/v2

请求方式:

HTTP POST

请求参数:

请求参数格式为 json
请求示例:

{
"reqType":0,
"perception": {
"inputText": {
"text": "附近的酒店"
},
"inputImage": {
"url": "imageUrl"
},
"selfInfo": {
"location": {
"city": "北京",
"province": "北京",
"street": "信息路"
}
}
},
"userInfo": {
"apiKey": "",
"userId": ""
}
}

部分参数说明,完整接口说明请看图灵api官方网址:https://www.kancloud.cn/turing/www-tuling123-com/718227

接口中apiKey需要自行上官网申请:http://www.turingapi.com/

3、完整调用示例:

import requests

url = "http://openapi.tuling123.com/openapi/api/v2"
data = {
"reqType": 0,
"perception": {
"inputText": {
"text": "附近的酒店"
},
"inputImage": {
"url": "imageUrl"
},
"selfInfo": {
"location": {
"city": "北京",
"province": "北京",
"street": "信息路"
}
}
},
"userInfo": {
"apiKey": "1c99470a8a8354e248a4c229234d14af",
"userId": "1"
}
} res = requests.post(url=url, json=data) # JSON格式的请求,将数据赋给json参数
print(res.text)

接口返回:

{
"intent": {
"actionName": "",
"code": 10037,
"intentName": ""
},
"results": [
{
"groupType": 1,
"resultType": "text",
"values": {
"text": "我还没去过那,所以我暂时就不给你推荐了"
}
}
]
}

4 、封装函数:

4.1 封装示例

import requests

while True:
url = "http://openapi.tuling123.com/openapi/api/v2"
question = input("我:")
data = {
"reqType": 0,
"perception": {
"inputText": {
"text": question
}
},
"userInfo": {
"apiKey": "e825286159f9f57db1b597995d7b",
"userId": "1234"
}
}
res = requests.post(url=url, json=data) # JSON格式的请求,将数据赋给json参数
answer = res.json()["results"][0]["values"]["text"]
print("答:"+answer)

4.2 执行返回结果

C:\Users\yzp\AppData\Local\Programs\Python\Python37\python.exe D:/00test/RFTEST/test_post.py
我:你是谁?
答:我是机器人
我:你今年多大了
答:18岁!
我:

【Python+postman接口自动化测试】(8)以青云客机聊天器人和图灵聊天机器人接口示范python发送get和post的更多相关文章

  1. 一个紧张刺激的聊天器,要不要进来看看(Python UDP网络模型)

    先来哔哔两句:(https://jq.qq.com/?_wv=1027&k=QgGWqAVF) 互联网的本质是什么?其实就是信息的交换.那么如何将自己的信息发送到其他人的电脑上呢?那就需要借助 ...

  2. postman和接口自动化测试

    1.postman测试接口 (1)首先安装postman 下载地址:https://www.getpostman.com/apps 选择对应版本下载,然后安装即可 (2)使用postman发送请求 比 ...

  3. 基于Python接口自动化测试框架+数据与代码分离(进阶篇)附源码

    引言 在上一篇<基于Python接口自动化测试框架(初级篇)附源码>讲过了接口自动化测试框架的搭建,最核心的模块功能就是测试数据库初始化,再来看看之前的框架结构: 可以看出testcase ...

  4. 如何用Postman做接口自动化测试

    目录 前言 什么是自动化测试 自动测试测试分类 为什么需要自动化测试 Postman自动化测试演示 1.新建集合 2.新建接口 3.填写自动化测试脚本 4.录入所有接口 5.执行自动化测试 前言 什么 ...

  5. XXX接口自动化测试方案

    XXX接口自动化测试方案 1.引言 1.1 文档版本 版本 作者 审批 备注 V1.0 XXXX 创建测试方案文档 1.2 项目情况 项目名称 XXX 项目版本 V1.0 项目经理 XX 测试人员 X ...

  6. 接口自动化测试平台-接入持续集成jenkins

    开篇提到,自动化测试最终期望还是能接入持续集成系统jenkins,下面记录下Go接口自动化测试平台是如何设计接入jenkins的. 回到Go接口自动化测试平台,在web系统中触发测试任务执行的入口为: ...

  7. 【Python+postman接口自动化测试】(3)什么是接口测试?

    什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换.传递和控制管理过程,以及系统间的相互逻辑依 ...

  8. 【Python+postman接口自动化测试】(7)Postman 的使用教程

    Postman v6的使用 Postman: 简单方便的接口调试工具,便于分享和协作.具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档,接口监控 ...

  9. python 做接口自动化测试框架设计

    1,明确什么叫自动化测试,什么叫接口自动化测试,如何设计接口测试用例,已登录为例 自动化测试:解放人力来自动完成规定的测试. 自动化测试分层模型:UI层,不论WEB端还是移动端,都是基于页面元素的识别 ...

随机推荐

  1. cannot connect to chrome at 127.0.0.1:9222

    window10系统,先cmd打开chrome, chrome --remote-debugging-port=9222 执行脚本 from selenium import webdriver fro ...

  2. CF25E-Test【AC自动机,bfs】

    正题 题目链接:https://www.luogu.com.cn/problem/CF25E 题目大意 给出三个串,然后求一个最短的串包含这三个串. \(1\leq |s_1|,|s_2|,|s_3| ...

  3. P5405-[CTS2019]氪金手游【树形dp,容斥,数学期望】

    前言 话说在\(Loj\)下了个数据发现这题的名字叫\(fgo\) 正题 题目链接:https://www.luogu.com.cn/problem/P5405 题目大意 \(n\)张卡的权值为\(1 ...

  4. .Net Core利用反射动态加载类库的方法(解决类库不包含Nuget依赖包的问题)

    在.Net Framework时代,生成类库只需将类库项目编译好,然后拷贝到其他项目,即可引用或动态加载,相对来说,比较简单.但到了.Net Core时代,动态加载第三方类库,则稍微麻烦一些. 一.类 ...

  5. 前端快闪三:多环境灵活配置react

    你已经使用Create React App脚手架搭建了React应用,现在该部署了. 一般会使用npm run build或者yarn build构建出静态资源, 由web服务器承载. 您会体验到 多 ...

  6. C++ 多线程按顺序执行函数

    我们提供了一个类: public class Foo { public void first() { print("first"); } public void second() ...

  7. asp.net core 集成swagger ui

    什么是Swagger? 说swagger 之前,我们先说一下OpenApi 规范. OpenApi 是一种和语言无关的用于描述RESTAPIs 接口功能的一种规范,对RESTAPIs 接口的描述包括: ...

  8. 【死磕NIO】— 阻塞IO,非阻塞IO,IO复用,信号驱动IO,异步IO,这你真的分的清楚吗?

    通过上篇文章([死磕NIO]- 阻塞.非阻塞.同步.异步,傻傻分不清楚),我想你应该能够区分了什么是阻塞.非阻塞.异步.非异步了,这篇文章我们来彻底弄清楚什么是阻塞IO,非阻塞IO,IO复用,信号驱动 ...

  9. 使用 grpcurl 通过命令行访问 gRPC 服务

    原文链接: 使用 grpcurl 通过命令行访问 gRPC 服务 一般情况下测试 gRPC 服务,都是通过客户端来直接请求服务端.如果客户端还没准备好的话,也可以使用 BloomRPC 这样的 GUI ...

  10. Python&Selenium 数据驱动测试【unittest+ddt+xml】

    一.摘要 本博文将介绍Python和Selenium做自动化测试时,基于unittest框架,借助ddt模块,使用xml文件作为测试输入. 二.xml文件 保存路径:D:\\Programs\\Pyt ...