appkey等加密信息已修改,自行替换处理。
import clr
clr.AddReference("System")
clr.AddReference("System.Web.Extensions")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.DataEntity")
clr.AddReference("Kingdee.BOS.ServiceHelper")
clr.AddReference("Newtonsoft.Json")
clr.AddReference("Kingdee.BOS.WebApi.Client")
from System import *
from System.IO import *
from System.Net import *
from System.Text import *
from System.Security.Cryptography import *
from System.Web.Script.Serialization import *
import sys
from System import *
from System.Collections.Generic import *
from System.Threading import *
from Kingdee.BOS.WebApi.Client import *
from Newtonsoft.Json.Linq import *
from Kingdee.BOS.Log import *
from Kingdee.BOS.Core.Log import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.KDThread import *
from Kingdee.BOS.DataEntity import *
from Kingdee.BOS.Orm.DataEntity import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.Bill.PlugIn import *
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.Metadata.EntityElement import *
from Kingdee.BOS.Core.Metadata import SelectorItemInfo ##字段选择实体类
from Kingdee.BOS.Core.SqlBuilder import QueryBuilderParemeter ##查询参数实体类
#修改默认编码为utf8
reload(sys)
sys.setdefaultencoding('utf-8')
def TO32MD5(srcstr):
md5 = MD5.Create();
md5str = "";#加密后的string
s = md5.ComputeHash(Encoding.UTF8.GetBytes(srcstr));
for i in range(len(s)):
btos = s[i].ToString("X");
if (len(btos)== 1):
#每次转换得到的都是2位
btos = "0" + btos;
md5str = md5str + btos;#转换成十六进制
return md5str;
def HttpPost(url,Data,timeout):
DefaultUserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
requestEncoding = Encoding.UTF8;
if url:
HttpWebResponseString = ""
try:
httpWebRequest = WebRequest.Create(url)
httpWebRequest.Method = "POST";
httpWebRequest.ContentType = "application/json";
httpWebRequest.UserAgent =DefaultUserAgent;
httpWebRequest.Timeout = timeout;
del DefaultUserAgent
if Data != None:
requestEncoding.GetString(Data);
stream = httpWebRequest.GetRequestStream();
stream.Write(Data, 0, Data.Length);
del requestEncoding
httpWebResponse = httpWebRequest.GetResponse();
HttpWebResponseString =ReadHttpWebResponse(httpWebResponse);
result =True;
except IOError:
HttpWebResponseString = ex.ToString();
result = false;
else:
if stream != None:
stream.Close();
return result,HttpWebResponseString
def ReadHttpWebResponse(HttpWebResponse):
try:
stream = HttpWebResponse.GetResponseStream();
streamReader =StreamReader(stream, Encoding.GetEncoding("utf-8"));
result = streamReader.ReadToEnd();
except IOError:
raise Exception("ReadHttpWebResponse错误");
else:
if streamReader !=None:
streamReader.Close();
if stream != None:
stream.Close();
if HttpWebResponse != None:
HttpWebResponse.Close();
return result;
def AfterButtonClick(e):
if e.Key.upper()=="F_PAEZ_Button".upper():
BILLNO="" if this.View.Model.GetValue("F_PAEZ_Text") ==None else this.View.Model.GetValue("F_PAEZ_Text").ToString();#管易单号
json = "{"appkey":"" +"19999"+ "","sessionkey":"" + "f4fcaa576166666a42e9f31f"+ "","method":"" + "gy.erp.trade.deliverys.get" + "","page_no":"" +"1"+ "","page_size":"" + "1" + "","code":""+BILLNO+""}";
sign = TO32MD5("33b1913e9537466666f588fbd67992207" + json + "33b1913e9537466666f588fbd67992207" + "").upper();
postJson = "{"appkey":"" +"19999"+ "","sessionkey":"" + "f4fcaa576166666a42e9f31f"+ "","method":"" + "gy.erp.trade.deliverys.get" + "","page_no":"" +"1"+ "","page_size":"" + "1" + "","code":""+BILLNO+"","sign":"" + sign + ""}";
httpResponse=""
data =Encoding.UTF8.GetBytes(postJson);
flag,httpResponse=HttpPost("http://v2.api.guanyierp.com/", data, 60000)
this.View.ShowMessage(postJson+'###'+httpResponse);
#raise Exception(ret)
信息打码处理。



