本文介绍如何在自动化流程中发送HTTP请求,包括编码开发模式、可视化开发模式。
1. 编码开发模式
1.1 环境准备
HTTP请求依赖于Python的request库(产品已内置),可直接在流程开发时引入。
HTTP的一些参数格式的处理、请求返回体的解析等,可能涉及json处理,因此需要引入json库(RPA已内置)。
综上,在编码模式下,需要引入依赖如下图。

1.2 代码示例
本章节分别提供Get请求和Post请求给出代码示例。
Get请求
Get请求的主要内容包含url、params(可选)、header(可选)
from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V4引擎
import requests
import json
def start():
# 如果需要传递参数,可通过url拼接的方式,也可以通过params的方式
# 通过url拼接参数
url = "http://YOUR-URL/"
# 通过params传递参数
params = {
"params1": "abc"
}
# header可选
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"}
response = requests.get(url, params=params, headers=headers)
print(response.text)
Post请求
POST请求的主要内容包含url、header(可选)、data
from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V4引擎
import requests
import json
def start():
# 在此处开始编写您的应用
url = "http://YOUR-URL/"
# header可选,内容视接口规则而定
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
data = {
"type": "text",
"content": "text_content",
"date": "20000101"
}
# 如果接口需要的data为dict格式
response = requests.post(url, data=data, headers=headers)
# 如果接口需要的data为json格式
response = requests.post(url, data=json.dumps(data), headers=headers)
print(response.text)HTTP请求中response常用属性与方法
response 常用属性
属性名 | type | 含义 |
status_code | int | HTTP响应的状态码,常见的有200、404、500等 |
reason | str | HTTP响应的描述,如OK、Not Found等 |
headers | dict | HTTP响应头 |
url | str | 请求的真实地址 |
histroy | list | 访问的历史记录(重定向记录) |
encoding | str | HTTP响应头的编码字段,response.text获取返回值时,就是按照encoding指定的编码格式进行解码。如果未指定,统一按照“ISO-8859-1”进行解码 |
cookie | RequestsCookieJar | cookie |
response常用方法
方法名 | type | 含义 |
ok | bool | 状态码是否小于400 |
text | str | 经过编码后的文本内容 |
2. 可视化开发模式
可视化开发模式下内置了两个HTTP相关操作的组件,详见 Http请求和 Http下载。
如果内置组件不满足,也可通过 调用自定义脚本进行扩展。
该文章对您有帮助吗?