zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    86. Partition List
    328. Odd Even Linked List
    19. Remove Nth Node From End of List(移除倒数第N的结点, 快慢指针)
    24. Swap Nodes in Pairs
    2. Add Two Numbers(2个链表相加)
    92. Reverse Linked List II(链表部分反转)
    109. Convert Sorted List to Binary Search Tree
    138. Copy List with Random Pointer
    为Unity的新版ugui的Prefab生成预览图
    ArcEngine生成矩形缓冲区
  • 原文地址:https://www.cnblogs.com/silencemaker/p/12631821.html
Copyright © 2011-2022 走看看