環境準備
HTTP請求依賴于Python的request庫(RPA已內置),可直接在流程開發時引入
HTTP的一些參數格式的處理、請求返回體的解析等,可能涉及json處理,因此需要引入json庫(RPA已內置)
綜上,在RPA編輯器中,引入依賴如下圖
開發示例
本文檔主要針對HTTP請求中的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://www.baidu.com/s?"
# 通過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://httpbin.org/post"
# 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 常用屬性
status_code
type:int
含義:HTTP響應的狀態碼,常見的有200、404、500等
reason
type: str
含義:HTTP 相應的描述,如OK、Not Found等
headers
type: dict
含義:HTTP相應頭
url
type: str
含義:請求的真實地址
histroy
type: list
含義:訪問的歷史記錄(重定向記錄)
encoding
type: str
含義:HTTP相應頭的編碼字段,response.text獲取返回值時,就是按照encoding指定的編碼格式進行解碼。如果未指定,統一按照“ISO-8859-1”進行解碼
cookie
type: RequestsCookieJar
含義:獲取cookie
property常用方法
ok
返回類型:bool
含義:狀態碼是否小于400
text
返回類型:str
含義:經過編碼后的文本內容
普通方法
json()
返回類型:json格式
含義:轉換為json格式的數據
文檔內容是否對您有幫助?