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

 

posted @ 2020-04-04 14:47  silencemaker1221  阅读(316)  评论(0编辑  收藏  举报