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

属性

  • 名称:每个控件都有一个名称,为了更好区分这个控件的功能,我们一般将其命名为该控件实现的功能
  • 网址/url:你要调用的api网址。如果api是get请求,则需要把请求参数拼接在url后面;如果api是post请求,则直接填api的url就可以。
  • 请求头:看你调用的api的文档,如果需要请求头,则在这里直接添加。
  • 请求参数:看你调用的api的文档,一般调用api都需要发送特定的参数,如果需要请求头,则在这里直接添加。
  • 请求文本:看你调用的api的文档,如果需要请求文本,则在这里直接添加

    积木

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

    block.png

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

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

    block (1).png

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

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

    block (2).png

  • 看调用的api文档进行书写

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

    block (3).png

  • 看调用的api文档进行书写

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

    block (4).png

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

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

    block (5).png

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

  • 在这里,我根据image.png这篇api来进行调用,这时,post的文本就是

id_list=”ou_9204a37300b3700d61effaa439f3429”&
当然,有同学会说:我的请求体是多个啊,怎么办?
这也很简单鸭,我们继续来一个例子
image.png
这个请求体,就是两个,那么,post文本就是
user_id=”3e3cf96b”&name=”张三”&

7 [HTTP客户端] 的网址

block (6).png

  • 返回HTTP客户端的网址

    8 获取对象 () 属性为 (“”) 的值

    block (7).png

  • 获取对象中某个属性的值。比如对象A为:{“province”:”广东”,”city”:”深圳”,”weather”:”多云”} 那其属性为province的值为广东,属性为city的值为深圳,属性为weather的值为多云

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

    block (8).png

  • 将符合json结构的文本内容(比如HTTP客户端获得文本时的文本内容)转换成对象类型,嵌入到 获取对象?属性为(“”) 的值积木中,可以进一步获取对象中某个属性的值

  • 举个例子

block.png
Snipaste_2022-05-14_19-40-14.png

  1. {"name":"海藻酸钠","age":14,"gender":"男","friends":["小王","小鱼","中子星"],"member":true}

示例

API查询天气
一、添加一个HTTP客户端:新添加的HTTP客户端默认都有一个网址,是一个查询天气的免费api,调用这个api需要发送两个参数:city(你要查询哪个城市的天气)、key(密钥)
Snipaste_2022-01-02_07-50-13.jpg
二、使用积木发送GET请求
block.png
三、使用积木接收api返回的内容,并把它用一个文本展示出来
block (1).png
四、运行之后可以看到屏幕上的文本就是这个查询天气的api返回的内容
Snipaste_2022-01-02_07-50-51.jpg
示例-API查询天气.json