|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你觉得数据库怎么样?项目顶用户提出了新请求,把原本在项目内平台内发送的信息同时发送得手机上,幸亏他们已有了短信的发送平台,只需挪用其接口发送就能够了。 短信发送接口是用jsp完成的一个网页,挪用体例是以Post体例向该网页发送数据。
在收集上查找材料,几近都是统一个了局:
System.Net.WebRequestreq=System.Net.WebRequest.Create(URI);
req.Proxy=newSystem.Net.WebProxy(ProxyString,true);
再依据用户给定的接口申明和java例子修正,了局老是前往的了局是乱码,再到网上查,说是编码体例的成绩,那没有举措了,只要多方实验了。经由近一天的不休实验,终究乐成了。我的准确的代码以下:
protectedstringSendMsg(stringxmlMsg)
{
stringurlPage="http://www.handtimes.com/interface/forSCMIS.jsp";
Streamoutstream=null;
Streaminstream=null;
StreamReadersr=null;
HttpWebResponseresponse=null;
HttpWebRequestrequest=null;
//要注重的这是这个编码体例,我实验了很长的工夫,另有内容的Xml内容的编码体例
Encodingencoding=Encoding.GetEncoding("GBK");
byte[]data=encoding.GetBytes(xmlMsg);
//筹办哀求...
//设置参数
request=WebRequest.Create(urlPage)asHttpWebRequest;
request.Method="POST";
//这个中央的内容范例是接口文档上请求的,必需是如许的
request.ContentType="text/plain";
request.ContentLength=data.Length;
outstream=request.GetRequestStream();
outstream.Write(data,0,data.Length);
outstream.Flush();
outstream.Close();
//发送哀求并猎取响应回应数据
response=request.GetResponse()asHttpWebResponse;
//直到request.GetResponse()程序才入手下手向方针网页发送Post哀求
instream=response.GetResponseStream();
sr=newStreamReader(instream,encoding);
//前往了局网页(html)代码
stringcontent=sr.ReadToEnd();
returncontent;
}
要申明的是,发送时地数据的编码和发送的内容(xml)的编码都是利用的GBK编码时乐成了,
由于用户给我的帐号不克不及发送到我本人的手机上,以是我不敢举行太多的实验,乐成后就没有再持续实验,不晓得影响前往的内容是乱码的是哪个编码,仍是两个都影响。
req.ContentType="application/x-www-form-urlencoded";
req.Method="POST";
byte[]bytes=System.Text.Encoding.ASCII.GetBytes(Parameters);
req.ContentLength=bytes.Length;
System.IO.Streamos=req.GetRequestStream();
os.Write(bytes,0,bytes.Length);
os.Close();
System.Net.WebResponseresp=req.GetResponse();
if(resp==null)returnnull;
System.IO.StreamReadersr=newSystem.IO.StreamReader(resp.GetResponseStream());
returnsr.ReadToEnd().Trim();
我也不知道,我原来理解的,NET就是C++编程,只是与JAVA相对,呵呵。以为.ET就是高级C++编程。 |
|