模拟网络请求
JDA模拟网络请求支持Get请求,Post请求,下载文件和发邮件功能。
1. Get请求
rpa_httpGet模拟浏览器发送Get请求,返回响应结果。
"""
请求http://www.jd.com并打印响应结果
第一个参数为请求的url
第二个参数表示该请求是否要是用session信息,若浏览器已经打开过相关url,则会读取浏览器的session信息来模拟请求
第三个参数可以在请求中加入自定义的请求头
"""
data = rpa_httpGet("http://www.jd.com", needSession=True, headers={'name':'JDA'})
#打印请求结果
print(data)
2. Post请求
rpa_httpPost模拟浏览器发送Post请求,返回响应结果。
"""
向https://www.jd.com提交数据并打印响应结果
第一个参数为请求的url
第二个参数为请求所需提交的数据
第三个参数表示该请求是否要是用session信息,若浏览器已经打开过相关url,则会读取浏览器的session信息来模拟请求
第四个参数可以在请求中加入自定义的请求头
"""
data = rpa_httpPost("https://www.jd.com","id=1",needSession=True, headers={'name':'JDA'})
#打印请求结果
print(data)
3. 下载文件
rpa_download下载网络文件,返回是否下载成功。
"""
下载https://www.jd.com页面内容,并保存在D盘的jd.html文件里
第一个参数为下载文件的url
第二个参数为下载文件的本地保存路径
"""
result = rpa_download("https://www.jd.com","d:/jd.html")
#若下载失败打印错误码和错误描述
if not result:
print(rpa_getLastErrorCode())
print(rpa_getLastErrorMsg())
4. 发送邮件
rpa_email发送电子邮件,返回是否发送成功。
"""
两个发送邮件的例子,演示如何用JDA模拟发送电子邮件
第一个为向QQ邮箱发送纯文本
第二个为向163邮箱发送带图片的html文本
"""
# QQ邮箱发送纯文本
content = 'Rpa: \n\n 这是一封测试邮件!'
infoQQ = RpaMailInfo()
infoQQ.sender = 'abc123@foxmail.com'
infoQQ.password = 'pwd123'
infoQQ.receiverList = ['rpa@163.com', 'rpa@sina.com']
infoQQ.ccList = ['rpa1@163.com']
infoQQ.bccList = ['rpa2@163.com']
infoQQ.smtpServer = 'smtp.qq.com'
infoQQ.smtpPort = 465 # 默认端口号25,SSL端口号465或587
infoQQ.smtpSSL = True
infoQQ.subject = '这是一封来自腾讯的测试邮件'
infoQQ.body = content
# 设置是否输出调试信息
RpaMailInfo.debug = False
# 设置超时时间
RpaMailInfo.timeout = 20
# 发送邮件
rpa_email(infoQQ)
# 网易邮箱发送html格式,并带图片
html = """\
<html>
<head></head>
<body>
<p>Hi!<br>
How are you?<br>
Here is the <a href="https://jm.jd.com">link</a> you wanted.
</p>
Er, I want you.
<p><img src="cid:image1"></p>
</p>
Next One.
<p><img src="cid:image2"></p>
</body>
</html>
"""
# 补充html内的图片信息
bodyImage = {}
bodyImage['image1'] = r'D:/7ee7.png'
bodyImage['image2'] = r'D:/1147.png'
infoWY = RpaMailInfo()
infoWY.sender = 'abc123@163.com'
infoWY.password = 'pwd123'
infoWY.receiverList = ['rpa@163.com', 'rpa@sina.com']
infoWY.ccList = ['rpa1@163.com']
infoWY.bccList = ['rpa2@163.com']
infoWY.smtpServer = 'smtp.163.com'
infoWY.smtpPort = 465
infoWY.smtpSSL = True
infoWY.subject = '这是一封来自网易163测试邮件'
infoWY.attachList = [r'D:/7ee7.png', r'D:/Clear.txt']
infoWY.body = html
infoWY.format = 'html'
infoWY.bodyImage = bodyImage
#发送邮件,若失败打印错误码和错误描述
if not rpa_email(infoWY):
print(rpa_getLastErrorCode())
print(rpa_getLastErrorMsg())