rpa_httpPost
调用HTTP的POST请求,并返回响应结果
注意:使用该函数频繁调用网页内的Http接口,可能触发页面的防刷或风控策略,请谨慎使用!
1. 函数
rpa_httpPost(url, body, needSession=False, headers={})
url:字符串类型,网络Url地址;
body:字符串类型,请求提交的数据;
needSession:bool类型,发送请求时请求头中是否包含已打开页面的session信息;
headers:字典类型,发送请求时请求头中包含的额外参数信息;
2. 返回值
返回请求的响应结果,字符串类型。
若返回的字符串不为空,表示获取成功;若返回的字符串为空,表示获取失败,通过rpa_getLastErrorCode()获取错误码,rpa_getLastErrorMsg()获取错误信息。
3. 示例
# 打开百度
tabId = rpa_browser_openUrl('www.baidu.com')
# 获取页面中所有a标签元素个数
totalCount = rpa_browser_getElementCount(tabId, "a标签", waitElement=True)
print('a标签总个数为:%d'%(totalCount))
# 获取所有a标签的数据
urls = []
for index in range(totalCount):
url = rpa_browser_getElementUrl(tabId, "a标签", index, False)
# 忽略部分
if url == 'javascript:;':
continue
urls.append(url)
print('URL地址为:%s'%(url))
# 清空表格
rpa_view_clearTable()
# 将urls转换为集合,去除重复
setUrls = set(urls)
for url in setUrls:
# 表格中插入一行
rpa_view_createRow(url)
# 获取行号
row = rpa_view_getRowCount() - 1
# 设置正获取中
rpa_view_writeTable(row, 1, '请求中...')
# 发送post请求
content = rpa_httpPost(url, '', needSession=False, headers={})
# 判断数据是否获取成功
if rpa_getLastErrorCode() == 0:
rpa_view_writeTable(row, 1, '成功')
rpa_view_writeTable(row, 2, content)
else:
rpa_view_writeTable(row, 1, '失败')
rpa_view_writeTable(row, 2, rpa_getLastErrorMsg())