更新历史

  • 1.1.3版本:
    • 旧版本中的“请求体类型”中的“文件”改名为“Multipart表单”
    • 新增“单个文件或图片变量(二进制)”请求体类型。
    • 增加“失败后停止”参数。

概述

发送Http请求,调用网络服务。
使用此模块需要您了解http协议的有关内容。

image.png

参数

【网址】要调用的URL。
【方法】HTTP Method。支持:GET、POST等。
【请求头】Http Header。格式为多行文本,每行内容格式为 Name:Value
【Cookie】请求的Cookie内容。
注:如果希望将词典转换成cookie内容,可以在1.9.5+以上版本上使用表达式转换:$= String.Join(“ “, {dict}.Select(x => x.Key+ “=” + x.Value +”;”))
【请求体类型】Http方法为“Post”时,指示请求体内容类型。可选为:

  • JSON:请求体的内容为JSON数据。
  • 表单:发送表单数据。
  • Multipart表单:发送带文件的表单,类似于网页中的上传文件表单。
  • 单个文件或图片变量(二进制):发送文件或图片变量中的内容。

【结果类型】返回值的类型,可选“文本”“图片”“文件”。要和实际调用返回的类型匹配。
【UserAgent】模拟浏览器的UserAgent参数。
【超时时间】请求超时秒数。
【禁止重定向】是否禁止自动进行http redirect。

输出

【是否成功】请求是否成功。
【状态码】http响应状态码。
【响应头】响应消息的Http Header。
【响应Cookie】响应内容的cookie信息。返回的是词典类型。
【文本结果】

  • 结果类型为“文本”时,响应内容结果。
  • 结果类型为“文件”时,输出生成的临时文件路径。(1.31.1+)

【图片结果】结果类型为“图片”时,将图片转换为变量。

Post数据格式说明

JSON

ContentType设置为application/json。此时请求体内容应该为一个合法的json数据文本。如:

  1. {"title":"test","sub":[1,2,3]}

使用表达式得到json格式的请求体内容

  1. $= JsonConvert.SerializeObject(
  2. new
  3. {
  4. 字段1={变量1},
  5. 字段2={变量2}
  6. }
  7. )

这段代码创建了一个临时c#对象,并使用 JsonConvert.SerializeObject 将临时对象序列化为json内容。

自1.29.0+ 版本以后,也可以直接将词典变量或匿名对象传递给请求体参数。Quicker会自动转换为json。
$= {词典变量} $=new {name="张三", age=20}
更多获取合法json的方式请参考此文档

文本表单

ContentType设置为x-www-form-urlencoded。类似于浏览器中的

表单。请求体数据格式类似于:

  1. id=3&name=Hello&param1=value1

Multipart表单

ContentType设置为multipart/form-data。数据格式为:

  • 每行一个参数:参数名=参数值 或 参数名=FILE:文件路径的形式

类似于:

  1. param1=value1
  2. param2=value2
  3. FileParam=FILE:文件完整路径
  4. ImgFileParam=IMG:图片变量名

单个文件或图片变量(二进制)

如果需要上传文件,格式为:“FILE:完整文件路径”。注意冒号要小写。

  1. FILE:C:\Users\Leal\Pictures\jiupian.PNG

如需上传图片变量,格式为:“IMG:变量名”,冒号要小写。

  1. IMG:img

乱码问题

如果通过本模块获取某些网页后有乱码,可以尝试使用这个子程序:
https://getquicker.net/subprogram?id=c1cbb130-e2b3-4260-f84a-08d8e37a0602

示例