我有一个项目需要向网页发布250万字符的QueryString。服务器本身只解析了5,400个字符或更少的URI。努力了的WebRequest/WebResponse类,Web客户端,并接几个不同的代码集之后,我终于找到了下面的代码,解决我的问题:如何避免服务器错误414非常长的QueryString值
HttpWebRequest webReq;
HttpWebResponse webResp = null;
string Response = "";
Stream reqStream = null;
webReq = (HttpWebRequest)WebRequest.Create(strURL);
Byte[] bytes = Encoding.UTF8.GetBytes("xml_doc=" + HttpUtility.UrlEncode(strQueryString));
webReq.ContentType = "application/x-www-form-urlencoded";
webReq.Method = "POST";
webReq.ContentLength = bytes.Length;
reqStream = webReq.GetRequestStream();
reqStream.Write(bytes, 0, bytes.Length);
reqStream.Close();
webResp = (HttpWebResponse)webReq.GetResponse();
if (webResp.StatusCode == HttpStatusCode.OK)
{
StreamReader loResponseStream = new StreamReader(webResp.GetResponseStream(), Encoding.UTF8);
Response = loResponseStream.ReadToEnd();
}
webResp.Close();
reqStream = null;
webResp = null;
webReq = null;
您正在混淆TCP协议和HTTP,这是一种更高级别的协议。没有更多的信息,就无法知道服务器的期望。它可能希望连接到TCP套接字并将文本数据直接写入套接字,或者可能需要HTTP POST。另外,您的示例URL是一个HTTPS,它需要一个加密的SSL套接字... – Peter 2010-05-28 04:43:55
您确定它期待HTTP POST。我会谷歌加密SSL套接字和HTTP POST。 – 2010-05-28 14:32:42