zoukankan      html  css  js  c++  java
  • python:post请求业务、调用微信api监控业务

    vim post.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import json
    import os
    import datetime
    import requests
    import urllib,urllib2
    import sys
    import simplejson
    
    reload(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: %s %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)

      

  • 相关阅读:
    GTK+中的树状列表构件(GtkTreeView)
    [TOP]疯狂的投资
    多线程模式之MasterWorker模式
    一年读书总结
    Microsoft Visual Studio正忙解决办法
    使用vs自带的性能诊断工具
    C#中的扩展方法
    从委托、匿名方法到Lambda
    c#中的事件
    sqlserver中创建包含事务的存储过程
  • 原文地址:https://www.cnblogs.com/ywxbbbbb/p/10191746.html
Copyright © 2011-2022 走看看