62库

您现在的位置是:首页 > 前端开发 > JavaScript > 正文

JavaScript

python:post请求业务、调用微信api监控业务

Admin2023-11-11JavaScript42

vim post.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
import os
import datetime
import requests
import urllib,urllib2
import sys
import simplejsonreload(sys)
sys.setdefaultencoding('utf-8')
#POST请求业务接口
def run(method,url,data):
#http请求头信息
headers = {
'content-type':'application/json',#内容类型,用于定义网络文件的类型和网页的编码
'Authorization':'Basic aGVhbHRoY2hlY2tAaW50ZWxsaWNyZWRpdC5jbjpqZXJyeTM5OlBASGVhbHRoY2hlY2s='#用于客户端在访问受密码保护的网页时识别自己的身份
}
if method == 'POST':
data_json = json.dumps(data)
start_time = datetime.datetime.now()
raw = requests.post(url,data_json,headers=headers)#post请求,发送json格式的数据
end_time = datetime.datetime.now()
Rtime=(end_time-start_time).microseconds / 1000#请求的时间,单位ms
status = raw.status_code
subject = '%s status:\t%s\n%s 时延:%s' %(url,status,url,Rtime)
return subject
#获取access_token
def gettoken(corpid,corpsecret):
gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret#企业微信获取token的url
print gettoken_url
try:
token_file = urllib2.urlopen(gettoken_url)#请求token_url
except urllib2.HTTPError as e:
print e.code
print e.read().decode("utf8")
sys.exit()
token_data = token_file.read().decode('utf-8')
token_json = json.loads(token_data)
token_json.keys()
token = token_json['access_token']#获取access_token,这里用来作身份验证,后端代码生成一个token,返回给客户端,客户端储存token
return token
#给企业微信发消息
def senddata(access_token,subject):
send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
send_values = {
"touser":"ZhangShun", #企业号中的用户帐号
"toparty":"1", #企业号中的部门id
"msgtype":"text", #消息类型
"agentid":"1000002", #企业号中的应用id
"text":{
"content":subject#发送的内容
},
"safe":"0"
}
# send_data = json.dumps(send_values, ensure_ascii=False)
send_data = simplejson.dumps(send_values, ensure_ascii=False).encode('utf-8')
send_request = urllib2.Request(send_url, send_data)#请求企业微信的发送消息接口
response = json.loads(urllib2.urlopen(send_request).read())
print str(response)if __name__ == '__main__':
#业务api接口
url = 'http://1.1.1.1:8080/api/v1/'
#POST请求的body
data = {
"name":"二三三",
"pid":"4A99881B1C1AEF6B7220245439FEA196A1F6BDF01C3FD8E1FA750640497419FF",
"mobile":"BDA6E1DE2852BA16AE1F88A7D426AD26CECCBB5F570122EAA368CF0A03313D12"}
subject = run('POST',url,data)
#企业微信
corpid = 'xxxxxxxxxxxxxxx'#CorpID是企业号的标识
corpsecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'#corpsecretSecret是企业微信应用的密钥
accesstoken = gettoken(corpid,corpsecret)
senddata(accesstoken,subject)

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~