栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

金蝶云 python脚本调用管易接口

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

金蝶云 python脚本调用管易接口

金蝶云 python脚本调用管易接口

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)
	


信息打码处理。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/909324.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号