[程序设计]Windows mobile上post数据出现远程服务器返回错误: (500) 内部服务器错误

综合网编2023-03-10 18:242710

最近在Windows Mobile上实现();就出现

  远程服务器返回错误: (500) 内部服务器错误;以下是实现的源代码

   ;

   =

   (");

   req.Headers.Add("Instruction", "Tracing_MobilePost_ShouldBeSendToBrower");//服务器要求增加的自定义头

   req.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0;Windows CE 6.0; Windows XP; Trident/4.0; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729;.NET CLR 1.1.4322;MAXTHON 2.0)";

   req.Method = "post";

   //req.AllowAutoRedirect = true;

   req.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";

   req.ContentType = "application/x-";

   // req.ContentType = "application/xml";

   req.KeepAlive=true;

   req.SendChunked = true;

   long date = (System.DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks) / 10000

   simno = "000000000000000";

   StringBuilder sb = new StringBuilder();

   sb.Append("simno=");

   sb.Append(simno);

   sb.Append("&");

   // sb.Append(";");

   // sb.Append("\r\n");

   sb.Append("lat=");

   sb.Append(9.65544);

   // sb.Append("\r\n");

   sb.Append("&");

   // sb.Append(";");

   sb.Append("lon=");

   sb.Append(145.10829);

   //sb.Append("\r\n"); ;

   sb.Append("&");

   //sb.Append(";");

   sb.Append("heit=");

   sb.Append(32.1);

   // sb.Append("\r\n");

   sb.Append("&");

   // sb.Append(";");

   sb.Append("date=");

   sb.Append(date);

   // sb.Append("\r\n");

   sb.Append("&");

   // sb.Append(";");

   sb.Append("text=");

   sb.Append(m_txtmessage.Text);

   byte[] byte1 = System.Text.Encoding.GetEncoding("utf-8").GetBytes(sb.ToString());

   req.ContentLength = byte1.Length;

   System.IO.Stream newStream = req.GetRequestStream();

   newStream.Write(byte1, 0, byte1.Length);

   newStream.Close();

   // try

   resp = (错误

   // catch(WebException ex)

   // resp = (;

   if (resp.StatusCode == )

   using (StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.UTF8))

   txtListen.Text = string.Format("接收的数据的内容长度:{0}\r\n",

   resp.ContentLength,

   resp.ContentType,

   resp.Method,

   resp.ResponseUri,

   resp.StatusCode,

   resp.StatusDescription,

   sr.ReadToEnd());

   // txtListen.Text = resp.GetResponseHeader("Instruction") + sr.ReadToEnd(); ;

   // txtListen.Text = resp.Headers+resp.GetResponseHeader("Instruction") +sr.ReadToEnd();

   sr.Close();

   resp.Close();

  如果将req.ContentType改成 "application/xml";则不会出现500错误,但返回数据的长度为0,即Content-Length:0;服务器那边是规定如果发送数据正确接收则有类似这样的Instruction_Tracing_ServerResponse=Normal回应。但是目前却什么也接收不到。

评论区