WinCE HTTP访问接口

问题描述

publicclassApiServicer{privateHashtabledllhash=newHashtable();publicHashtableDllHash{get{returndllhash;}}privatestring_webaddress=null;publicstaticexternintGetSystemMetrics(intnIndex);publicintGetScreenWidth(){intnWidth=GetSystemMetrics((int)enumScreen.SM_CXSCREEN);returnnWidth;}publicintGetScreenHeight(){intnHeight=GetSystemMetrics((int)enumScreen.SM_CYSCREEN);returnnHeight;}publicstringWebAddress{get{try{if(_webaddress==null){StreamReadersr=newStreamReader(ApplicationPath()+"\cfg.ini");StringRet="";Stringtmp="";while((tmp=sr.ReadLine())!=null){Ret+=tmp;}sr.Close();_webaddress=Ret;}}catch(Exceptionex){};return_webaddress;}set{_webaddress=value;}}publicstringApplicationPath(){stringappPath=System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);returnappPath;}publicApiServicer(){}publicApiServicer(stringurl){_webaddress=url;}publicstringGetParams(stringcmd,object[]Params){stringNewParams="<contextfunction=""+cmd+"">";NewParams+="<p>"+(userinfo==null?"":userinfo.userkey)+"</p>";if(Params==null){}else{for(inti=0;i<Params.Length;i++){if(cmd=="PdaQuery")NewParams+="<p>"+Params[i].ToString().Replace(">","&gt;").Replace("<","&lt;")+"</p>";elseNewParams+="<p>"+Params[i].ToString()+"</p>";}}NewParams+="</context>";returnNewParams;}///<summary>//////</summary>///<paramname="command"></param>///<paramname="Params"></param>///<returns></returns>publicobjectRunCmd(stringcommand,object[]Params){EncodingmyEncoding=Encoding.GetEncoding("UTF-8");byte[]postBytes=Encoding.ASCII.GetBytes(GetParams(command,Params));HttpWebRequestreq=(HttpWebRequest)WebRequest.Create(WebAddress);req.Method="POST";req.ContentType="text/html;charset=UTF-8";req.ContentLength=postBytes.Length;try{using(StreamreqStream=req.GetRequestStream()){reqStream.Write(postBytes,0,postBytes.Length);}//HttpWebResponsewr=(HttpWebResponse)req.GetResponse();using(WebResponsewr=req.GetResponse()){//OpenthestreamusingaStreamReaderforeasyaccess.StreamReaderreader=newStreamReader(wr.GetResponseStream());//Readthecontent.stringresponseFromServer=reader.ReadToEnd();returnDeCompress(responseFromServer);//解压缩数据//在这里对接收到的页面内容进行处理}}catch(Exceptionex){MessageBox.Show(ex.Message.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Asterisk,MessageBoxDefaultButton.Button1);returnnull;}}publicbyte[]StreamToBytes(Streamstream){byte[]bytes=newbyte[stream.Length];stream.Seek(0,SeekOrigin.Begin);stream.Read(bytes,0,bytes.Length);//设置当前流的位置为流的开始returnbytes;}///<summary>///将byte[]转成Stream///</summary>publicStreamBytesToStream(byte[]bytes){Streamstream=newMemoryStream(bytes);returnstream;}publicbyte[]StringToBytes(stringtemp){returnConvert.FromBase64String(temp);}publicobjectDeCompress(stringtemp){DataTabledt=DeserializeDataTable(temp);if(dt!=null&&dt.Rows.Count>0){if((int)dt.Rows[0]["Type"]==0)//字符串直接返回return(string)dt.Rows[0]["Data"];elseif((int)dt.Rows[0]["Type"]==1){returnDeserializeDataTable(dt.Rows[0]["Data"].ToString());}}returnnull;}//publicobjectDbDeCompress(byte[]temp)//{//byte[]da=(byte[])temp;//MemoryStreaminput=newMemoryStream();//input.Write(da,0,da.Length);//input.Position=0;//GZipStreamgzip=newGZipStream(input,CompressionMode.Decompress,true);//MemoryStreamoutput=newMemoryStream();//byte[]buff=newbyte[4096];//intread=-1;//read=gzip.Read(buff,0,buff.Length);//while(read>0)//{//output.Write(buff,0,read);//read=gzip.Read(buff,0,buff.Length);//}//gzip.Close();//byte[]rebytes=output.ToArray();//output.Close();//input.Close();//MemoryStreamms=newMemoryStream(rebytes);//BinaryFormatterbf=newBinaryFormatter();//objectobj=bf.Deserialize(ms);//DataSetds=(DataSet)obj;//DataTabledt=ds.Tables[0];//returndt;//}//publicobjectDbDeCompressDs(byte[]temp)//{//byte[]da=(byte[])temp;//MemoryStreaminput=newMemoryStream();//input.Write(da,0,da.Length);//input.Position=0;//GZipStreamgzip=newGZipStream(input,CompressionMode.Decompress,true);//MemoryStreamoutput=newMemoryStream();//byte[]buff=newbyte[4096];//intread=-1;//read=gzip.Read(buff,0,buff.Length);//while(read>0)//{//output.Write(buff,0,read);//read=gzip.Read(buff,0,buff.Length);//}//gzip.Close();//byte[]rebytes=output.ToArray();//output.Close();//input.Close();//MemoryStreamms=newMemoryStream(rebytes);//BinaryFormatterbf=newBinaryFormatter();//objectobj=bf.Deserialize(ms);//DataSetds=(DataSet)obj;//returnds;//}///<summary>///动态加载DLL执行函数///</summary>///<paramname="dllname"></param>///<paramname="dllinfo"></param>///<paramname="command"></param>///<paramname="Params"></param>///<returns></returns>/////<summary>/////通过反射机制设置类属性值/////</summary>/////<paramname="name">属性名称</param>/////<paramname="Params">参数</param>//publicstaticvoidSetProperty(stringname,object[]Params)//{////设置属性值//Servicetmp=newService();//Typetype=tmp.GetType();//Objectobj=type.InvokeMember(null,//BindingFlags.DeclaredOnly|//BindingFlags.Public|BindingFlags.NonPublic|//BindingFlags.Instance|BindingFlags.CreateInstance,null,null,null);//type.InvokeMember(name,BindingFlags.SetProperty,null,obj,Params);//}publicstaticDataTableDeserializeDataTable(stringpXml){StringReaderstrReader=newStringReader(pXml);XmlReaderxmlReader=XmlReader.Create(strReader);XmlSerializerserializer=newXmlSerializer(typeof(DataTable));DataTabledt=serializer.Deserialize(xmlReader)asDataTable;returndt;}privatestaticstringSerializeDataTableXml(DataTablepDt){//序列化DataTableStringBuildersb=newStringBuilder();XmlWriterwriter=XmlWriter.Create(sb);XmlSerializerserializer=newXmlSerializer(typeof(DataTable));serializer.Serialize(writer,pDt);writer.Close();returnsb.ToString();}}

解决方案

解决方案二:
不明觉厉~~~~
解决方案三:
好长问题呢只是提问还是分享啊
解决方案四:
lz是个好人。顺便接分。

时间: 2024-10-28 16:51:14

WinCE HTTP访问接口的相关文章

数据访问接口体系及数据对象模型探讨--[附录]

对象|访问|数据|体系 数据访问接口体系及数据对象模型探讨(Beat 1.0)                                                             81_RedStar81@163.com                                               TomHornson.student@www.sina.com.cn                                                个

数据访问接口体系及数据对象模型探讨--[1]

对象|访问|数据|体系 数据访问接口体系及数据对    数据访问接口体系及数据对象模型探讨(Beat 1.0)                          81_RedStar81@163.com  TomHornson.student@www.sina.com.cn 个人文集: http://www.csdn.net/develop/author/netauthor/RedStar81/       文章索引: 预:概念 序言:回首历史 一. 数据访问接口体系探讨 1.       Op

数据访问接口体系及数据对象模型探讨--[2]

对象|访问|数据|体系           数据访问接口体系及数据对象模型探讨(Beat 1.0)                                                             81_RedStar81@163.com                                               TomHornson.student@www.sina.com.cn                                       

VB数据访问接口

VB数据访问接口功能及含义 ADC高级数据连接器(Advanced Data Connector): 提供绑定ADO数据源到窗体的数据绑定控件上.ADC主要是一种直接访问或者通过ADO访问远程OLEDB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件.它是特地为Web上的浏览器为基础的应用程序而设计的. ADOActive数据对象(Active Data Objects): ADO实际是一种提供访问各种数据类型的连接机制.ADO设计为一种极简单的格式,通过ODBC的方法同数据库接

MySQL的数据库访问接口

mysql-connectors Table of Contents 1. 数据库访问接口概述 2. MySQL 的数据库访问接口 1 数据库访问接口概述 大部分流行的关系数据库产品采用的都是 C/S 架构.因此,应用程序要访问数据库的数据就必须和各种数据库客户端(也称为数据库访问接口)打交道.可以这么认为,每一种流行的编程语言都需要一个对应的数据库访问接口.以 MySQL 为例,它提供了 C.C++.Java..Net.Python 等各种语言的接口实现.ORACLE 等历史较长的商用软件通常

sql-链接服务器&amp;amp;quot;xx&amp;amp;quot;的 OLE DB 访问接口 &amp;amp;quot;SQLNCLI&amp;amp;quot; 返回了消息 &amp;amp;quot;没有活动事务。&amp;amp;quot;。

问题描述 链接服务器"xx"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "没有活动事务.". 链接服务器"DATASERVER"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "没有活动事务.". 消息 0,级别 11,状态 0,第 0 行 当前命令发生了严重错误.应放弃任何可能产生的结果. ALTER PROCEDURE [dbo].[SjSc] AS SE

db-SQL2008访问接口&amp;amp;quot;OraOLEDB.Oracle&amp;amp;quot;提取行

问题描述 SQL2008访问接口"OraOLEDB.Oracle"提取行 消息 7399,级别 16,状态 1,第 1 行链接服务器 ""ORA_ARWEN"" 的 OLE DB 访问接口 ""OraOLEDB.Oracle"" 报错.提供程序未给出有关错误的任何信息.消息 7330,级别 16,状态 2,第 1 行无法从链接服务器 ""ORA_ARWEN"" 的 O

dbi-测试程序测试数据库访问接口DBI

问题描述 测试程序测试数据库访问接口DBI 写个简单的测试程序测试数据库访问接口DBI,实现功能:1 输入参数 数据库类型.IP.端口.用户名.密码.数据库名.查询语句2 输出: 0 如果能正常执行1 数据库类型不支持2 IP.端口连接不上 3 数据库登录错误4 语言执行错误 解决方案 脚本语言都可以 而且开发起来快速

服务访问接口验证,怎么将验证密钥放置于Authorization标头,求大神帮忙

问题描述 服务访问接口验证,怎么将验证密钥放置于Authorization标头,求大神帮忙 有请求地址,和验证密钥,就是验证方式不知道怎么操作将验证密钥放置于Authorization标头 .请求方式是GET.求大神呀,公司技术全解决不了... 解决方案 你没说什么语言,以及你在做客户端还是服务器端,自己按照http基本验证这个关键字google下. 比如http://blog.163.com/nice_2012/blog/static/19266614820132245395161/