:::info HTTP客户端可以在作品里面调用api接口,网络上有很多免费的api可以实现各种丰富的功能,或者获取一些数据,你不需要用积木写代码去开发相同的功能,只需要找到合适的api直接调用。

:::

:::danger 在CoCoV1.16更新中,新增了“字典”数据类型

  1. ![在 通用积木-字典 积木盒子中](https://cdn.nlark.com/yuque/0/2022/png/2417463/1661042917364-3dbe665e-e92a-460f-8dc7-bae847dabff8.png)
  2. **<font style="color:#FF4D4F;"> 用上面的积木代替下面的积木 ↓</font>**

现已删除此块积木

:::

属性

  • 网址:你要调用的api网址。如果api是get请求,则需要把请求参数拼接在url后面;如果api是post请求,则直接填api的url就可以。
  • 请求头:看你调用的api的文档,如果需要请求头,则在这里直接添加。
  • GET请求参数:看你调用的api的文档,一般调用api都需要发送特定的参数,如果需要请求头,则在这里直接添加。
  • POST请求文本:看你调用的api的文档,如果需要请求文本,则在这里直接添加。

积木

1. 当 [HTTP客户端] 获得文本时 (响应代码) (文本内容)

HTTP客户端 - 图2

  • 请求成功时触发该事件,返回内容存储在“文本内容”积木中。

2. 当 [HTTP客户端] 出错时 (错误代码) (错误消息)

HTTP客户端 - 图3

  • 请求失败时触发该事件,错误原因存储在“错误消息”积木中。

3. 设置 [HTTP客户端] 的网址为 (“ ”)

HTTP客户端 - 图4

  • 请查看调用的api文档填写请求网址

4. 设置 [HTTP客户端] 的请求头为 (“ ”)

HTTP客户端 - 图5

  • 看调用的api文档进行书写。
  • 注:本积木与HTTP客户端发送post请求并非同一类型积木,请根据api文档确定设置请求头或post请求
  • 如调用的api中没有显示请求头示例请根据api文档表格按照{"名称":"内容"}格式填写

如下表举例:

名称 必填 类型
coco 字符串
cococentral 字符串

那么就需要填写:{“coco”:”666”,”cococentral”:”yyds”}

5. 调用 [HTTP客户端] 发送GET请求

HTTP客户端 - 图6

  • 如果使用的api接口调用方式为get,则设置好网址和请求参数后,使用该积木发送get请求。

6. 调用 [HTTP客户端] 发送POST请求,文本为 (“ ”)

HTTP客户端 - 图7

  • 如果使用的api接口调用方式为post,则设置好网址和请求文本后,使用该积木发送post请求。

HTTP客户端 - 图8假如按照这篇api来进行调用,这时,post的文本就是id_list="<font style="color:rgb(55, 60, 67);">ou_9204a37300b3700d61effaa439f3429</font>"&

HTTP客户端 - 图9

遇到多个请求体,那么,post文本就是user_id="3e3cf96b"&name="张三"

7. [HTTP客户端] 的网址

HTTP客户端 - 图10

  • 返回HTTP客户端的网址。

8. 将文本 (“”) 解析为对象

HTTP客户端 - 图11

  • 将符合json/array结构的文本内容,转换成对象类型。

array

  • 比如将HTTP客户端获得文本时的文本内容{"province":"广东","city":"深圳","weather":"多云"}转换成对象类型,嵌入到字典积木盒中的(?) 键 (“key”) 的键积木中,就可以进一步获取对象中某个属性的值:其属性为province的值为广东,属性为city的值为深圳,属性为weather的值为多云。

示例

API查询天气

一、添加一个HTTP客户端:新添加的HTTP客户端默认都有一个网址,是一个查询天气的api,调用这个api至少需要发送两个参数:city(你要查询哪个城市的天气)、key(密钥)

HTTP客户端 - 图13

二、使用积木发送GET请求

HTTP客户端 - 图14

三、使用积木接收api返回的内容,并把它用一个文本展示出来

HTTP客户端 - 图15

四、运行之后可以看到屏幕上的文本就是这个查询天气的api返回的内容

HTTP客户端 - 图16

示例-API查询天气.json