python request模块 在钉钉中创建群聊机器人,一键发送消息,定时发送(详细步骤)
0.安装requests模块
Linux下执行
pip3 install requests
1.request简介
Reqest是Python的HTTP库,内部采用urillib3模块,但是用起来比urllib3更简洁,需要单独安装
2. request特性
-支持keep-alive的连接池
-支持通用的域名以及URL地址
-支持使用cookie
-支持使用类似游览器的SSL验证
-支持上传,下载
3.GET和POST
通过requests发送一个GET请求,需要在URL里请求的参数可通过params传递
r=requests.get(url="",params={},header={},cookie={})
与GET不同的是,POST请求新增加了一个可选参数data,需要通过POST请求传递的body里的数据可以通过data传递
r=requests.post(url="",data={},params={},header={},cookie={})
当访问一个URL时,我们经常需要发送一些查询字段,例如http://xxx.com/get?key=1,这里的key=1就是限定返回条件的参数键值对,当利用python的reqeusts去发送一个需要包含这些参数键值对时,可以将它们传给params。好处是安全和简洁
payload={'key1':'value1','key2':'value2'}
r=request.get('http://xxx.com/get,params=payload')
4.PUT,DELETE,HEAD以及OPTIONS
r=request.put('www.baidu.com/put',data={'key':'value'})
r=request.delete('www.baidu.com/delete')
r=request.head('www.baidu.com/get')
r=request.options('www.baidu.com/get')
5.设置头部和发送请求数据
用户也可以自己设定请求头,有时也需要将一些数据放在请求的body内,就需要对data传参了(仅POST,DELETE,PUT有效,GET请求无body)
url='https://api.gihub.com/some/endpoint'
headers={'Accepet':'application/json'}
payload={'key1':'value1','key2':'value2'}
r=request.post(url,headers,data=payload)
6.响应内容
读取服务器响应的内容
r=request.get('http://www.baidu.com')
查看内容:r.text r.content
查看编码:r.encoding
修改编码:r.encoding='utf8'
查看响应头:r.headers
内置json解码器:r.json()
实验--在钉钉中创建群聊机器人
1.注册钉钉账号(有跳过)
没有钉钉的话先注册
【官网】https://www.dingtalk.com/oasite/register_new.htm?source=1001&lwfrom=2017120202092064213045501#/
2.下载钉钉客户端
下载安装后打开到这个界面
3.配置钉钉机器人
点击
选择机器人管理
选择自定义机器人webhook
输入名字,选择一个群发组
安全设置选ip地址,填你要执行脚本的主机ip(必须是公网ip)
创建之后会给你一个Webhook,复制即可
4.编写脚本
准备一台联网的linux系统主机
- [root@ localhost day12]# vim dingtalk.py
- import json
- import requests
- import sys
- def send_msg(url, reminders, msg):
- headers = {'Content-Type': 'application/json;charset=utf-8'}
- data = {
- "msgtype": "text", # 发送消息类型为文本
- "at": {
- "atMobiles": reminders,
- "isAtAll": False, # 不@所有人,如果要@所有人写True并且将上面atMobiles注释掉
- },
- "text": {
- "content": msg, # 消息正文
- }
- }
- r = requests.post(url, data=json.dumps(data), headers=headers)
- return r.text
- if __name__ == '__main__':
- msg = "这只是一个测试"
- reminders = ['15055667788'] # 特殊提醒要查看的人,就是@某人一下
- url = 此处填写上面webhook的内容
- print(send_msg(url, reminders, msg))
5.执行脚本查看结果
[root@ localhost /]# python3 dingtalk.py
尝试一下@所有人和@单个人
python request模块 在钉钉中创建群聊机器人,一键发送消息,定时发送(详细步骤)相关推荐
- 记一次钉钉群聊机器人的开发
文章目录 一.需求描述 二.开发思路 三.开发步骤 (一)阅读开发文档 (二)创建机器人 (三)了解消息格式 (四)传参并调用 (五)其他 四.总结 一.需求描述 为实现更好的沟通,现需要实现以自定义 ...
- 持续集成之消息推送:钉钉与企业微信的群聊机器人通用示例
使用钉钉和企业微信的群聊机器人可以进行消息推送,这篇文章使用一个简单的脚本来说明其使用方式. 推送消息的方法 钉钉或者企业微信的群机器人都可提供消息推送的功能,相关的机器人的添加和消息推送的方法可以参 ...
- 【浙政钉】第四篇:浙政钉创建群聊、消息接入、发送
背景 浙政钉上架应用可创建群聊,和用户单聊等. 版权 本文允许转载,转载请写上原文地址,谢谢!作者:曹震 目录 一.准备工作 二.浙政钉系列 三.接口开发 1.特别说明 1.1访问IP不在白名单中,r ...
- 钉钉机器人调研(群聊机器人)
钉钉机器人调研(群聊机器人) package demo.test.ding;import com.dingtalk.api.DefaultDingTalkClient; import com.ding ...
- Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略
Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略 目录 sklearn.preprocessing中的Stand ...
- Python工厂模式封装各类Webhook群聊机器人代码片段
引言 企业存在给 特定群组 自动推送消息的需求,比如:监控报警推送.销售线索推送.运营内容推送等. 你可以在群聊中添加一个自定义机器人,通过服务端调用 webhook 地址,即可将外部系统的通知消息即 ...
- python写qq群机器人怎么弄_python打造自由DIY 群聊机器人
本文首发于简书DIY 微信群聊机器人www.jianshu.com 前言 这几天我的一个小伙伴问我能不能给 Ta 做一个配置灵活的微信群聊天机器人,之前了解过 itchat 库的使用,我就爽快的答应 ...
- 用WeRoBot和Python编写一个不使用网页版微信且能够回复消息微信群聊机器人
要用 WeRoBot 和 Python 编写一个不使用网页版微信且能够回复消息的微信群聊机器人,您需要以下步骤: 安装 WeRoBot 和相关依赖: pipinstall werobot 创建一个 P ...
- 飞书群聊机器人每日自动推送语录及风景照片python版
飞书群聊机器人自动推送消息 使用场景 推送机制 代码目录 代码详解 获取图片 获取有效token 上传图片并得到Image_Key 使用 完整代码 使用场景 最近使用飞书聊天,觉得蛮好用的,刚好这段时 ...
最新文章
- 实战之网马解密之shellcode篇
- linux 内核 出错-HP 方案
- 关于无法把程序(Adobe Fireworks CS5)添加到打开方式的解决办法
- 打造自己的数据访问层(二)
- SAP修改已经释放的请求
- 第二十二章 李逵为什么不可爱
- 夸奖对方代码写的好_怎样写好代码(三)
- 算法 - 排序稳定性总结
- 工业级光纤收发器的选用方法
- 大数据---单词释义
- 给 IDEA 换个酷炫的主题吧,这个有点哇塞啊!
- Hadoop 核心概念解析
- 基于javafx+sqlserver的仓库管理系统
- 关于网络安全域隔离问题 你真的了解吗?
- tomcat配置manger账户和host-manager账户的方法详细图解
- 记一次某公众号平台前端加密算法的解密
- 文本标注开源系统Doccano、Label Studio、BRAT比较
- 国际群发短信平台适用于哪些行业?
- ZigBee学习笔记——(三)ZigBee无线传感器网络通信标准
- HDU 5643 King's Game 打表