• pycurl之调用公共方法--请求/上传/下载,解析json


     1 # -*- coding=utf-8 -*-
     2 #授权请求程序 pycurldata1.py
     3 #张明伟 20200331
     4 import json,os
     5 import pycurlcomm
     6 import pycurl
     7 url = 'https://{}/api/admin/auth/add'.format(pycurlcomm.ip)
     8 pth=pycurlcomm.pth
     9 if __name__ == '__main__':
    10     data=[
    11         ('scan',(pycurl.FORM_FILE,pth+'auth01.pdf',pycurl.FORM_FILE,pth+'auth02.pdf')),
    12         ('enterprise_id','XXXXXXXXXXXXXXXXX'),
    13         ('enterprise_name', '****特****有限公司'),
    14         ('authorization_no', '001000100001'),
    15         ('product_name', 'test001'),
    16         ('authorization_type', '01'),
    17         ('begin_Date', '2020-03-31'),
    18         ('end_Date', '2020-09-01'),
    19         ('authorized_org_id', '0000003'),
    20           ]
    21     dict1 = pycurlcomm.curlcmd(url=url,data=data)
    22     print("=" * 20)
    23     js2 = json.loads(dict1['html'])
    24     retcode = js2["code"]
    25     retmsg=js2["message"]
    26     print(retcode)
    27     print(retmsg)
    28     pycurlcomm.Logger().logger.debug("ccccccc系统金额我发你臭豆腐的是")
    29     print("=" * 20)
    30     exit(0)
    31 if not os.path.exists(pth):
    32     os.mkdir(pth)
    View Code
     1 # -*- coding=utf-8 -*-
     2 #数据请求程序 pycurldata2.py
     3 #张明伟 20200331
     4 import os
     5 import json
     6 from hashlib import sha256
     7 from binascii import b2a_hex
     8 import pycurlcomm
     9 url = 'https://{}/api/admin/data/query'.format(pycurlcomm.ip)
    10 
    11 def step2():
    12     memId = "0000003"
    13     jobId = "JON20290823000001101"
    14     serialNo = "111111111111111111111111111111"
    15     appKey = "111111111111111111111111111111111"
    16     authorizationId = "AUTH0000001111111111111111111111111111"
    17     hash_str = memId + serialNo + jobId + authorizationId + appKey
    18     hash_inst = sha256()
    19     hash_inst.update(hash_str.encode('utf8'))
    20     digest = hash_inst.digest()
    21     digest_str = b2a_hex(digest)
    22     data = {
    23     "pubReqInfo": {
    24     "memId": memId,
    25     "serialNo": serialNo,
    26     "jobId": jobId,
    27     "authorizationId": authorizationId,
    28     "timeStamp": "1469613279926",
    29     "authMode": "00",
    30     "reqSign": "bfacdsfdsfdsfffffffffffffffffffff0f84"},
    31     "busiInfo": {
    32     "enterpriseId": "91111111111111111111X"}
    33     }
    34     dict1=pycurlcomm.curlcmd(data=data,url=url)
    35     print("="*20)
    36     js2=None
    37     try:
    38         print(dict1)
    39         js2=json.loads(dict1['html'])
    40         resmsg = js2["pubResInfo"]["resMsg"]
    41         print(js2)
    42         retcode = js2["code"]
    43         retmsg = js2["message"]
    44     except Exception as e:
    45         pycurlcomm.Logger().logger.debug(e.message)
    46     else:
    47         print(resmsg)
    48         print("=" * 20)
    49     pycurlcomm.Logger().logger.debug(resmsg)
    50     exit(0)
    51     html=dict1['html']
    52     js1=json.loads(html) # type:json.JSONDecoder
    53     # pycurlcomm.display_item(js1)
    54     # exd=pycurlcomm.expressDict(js1)
    55     # exd.display_item()
    56     # print((js1.values()))
    57     # print(js1.keys())
    58     # print(js1.get('pubResInfo'))
    59 
    60 
    61 str2=json.loads(str2)
    62 tbs=str2["busiInfo"]["data"]
    63 str3=tbs
    64 exd=pycurlcomm.expressDict(str3)
    65 exd.display_items(sqlFlag=False)
    66 exd.dispay_sqls()
    67 exit(11)
    68 # for stv in str3.values():
    69 #     print(type(stv), '-->', stv)
    70 #     if isinstance(stv,list):
    71 #         for ss in stv:
    72 #             print(type(ss),'-->',ss)
    73 # exit(1)
    74 # pycurlcomm.display_item(tbs)
    75 # print(tbs.keys())
    76 
    77 if __name__ == '__main__':
    78     # step2()
    79     pass
    View Code

     分别对应shell代码实例如下:

    #!/bin/sh
    path=$( cd `dirname $0`;pwd)
    echo $path
    url="https://221.122.125.207/api/admin/auth/add"
    echo $url...
    curl -k -X POST 
    $url 
    -F "scan=@/$path/data/auth01.pdf" 
    -F "scan=@/$path/data/auth02.pdf" 
    -F "enterprise_id=111111111" 
    -F "enterprise_name=***特******************限公司" 
    -F "authorization_no=001000100001" 
    -F "product_name=test001" 
    -F "authorization_type=01" 
    -F "begin_Date=2019-11-04" 
    -F "end_Date=2020-11-04" 
    -F "authorized_org_id=0000003";
    #!/bin/sh
    
    path=$( cd `dirname $0`;pwd)
    echo $path
    
    url="https://221.122.125.207/api/admin/data/query"
    #echo $url...
    
    curl -k -X POST 
    $url 
    -H "Content-Type: application/json" 
    -d '{
    "pubReqInfo":{
    "memId":"0000002",
    "serialNo":"111111111111111111111111",
    "jobId":"JON20190823000001101",
    "authorizationId":"AUTH00112122222222222222222",
    "authMode":"00",
    "timeStamp":"1469613279966",
    "reqSign":"bfa5122222222222222222222f84"
    },
    "busiInfo":{
    "enterpriseId":"913XXXXXXXXXXXXXXXXXX"
    }
    }'
    
    echo
    exit
  • 相关阅读:
    清除某个数据库的所有数据库连接的存储过程
    IIS的Windows集成身份验证总结
    新项目的页面不要直接从PageBase继承
    安装Win2003 SP1遇到拒绝访问
    ASP.NET2.0站点跨服务器访问Sql Sever 2005 Reporting Service
    当CodeSmith不在时,续……
    Web讯雷导致IIS无法启动的问题
    Intro to eDiscovery in SharePoint, Exchange, and Lync 2013
    微软云平台
    团队开发博客
  • 原文地址:https://www.cnblogs.com/silencemaker/p/12631821.html
Copyright © 2020-2023  润新知