设置WebRequest的正文数据

我在ASP.NET中创build一个Web请求,我需要添加一堆数据到正文。 我怎么做?

var request = HttpWebRequest.Create(targetURL); request.Method = "PUT"; response = (HttpWebResponse)request.GetResponse(); 

HttpWebRequest.GetRequestStream

来自http://msdn.microsoft.com/en-us/library/d4cek6cc.aspx的代码示例;

 string postData = "firstone=" + inputData; ASCIIEncoding encoding = new ASCIIEncoding (); byte[] byte1 = encoding.GetBytes (postData); // Set the content type of the data being posted. myHttpWebRequest.ContentType = "application/x-www-form-urlencoded"; // Set the content length of the string being posted. myHttpWebRequest.ContentLength = byte1.Length; Stream newStream = myHttpWebRequest.GetRequestStream (); newStream.Write (byte1, 0, byte1.Length); 

从我自己的代码之一:

 var request = (HttpWebRequest)WebRequest.Create(uri); request.Credentials = this.credentials; request.Method = method; request.ContentType = "application/atom+xml;type=entry"; using (Stream requestStream = request.GetRequestStream()) using (var xmlWriter = XmlWriter.Create(requestStream, new XmlWriterSettings() { Indent = true, NewLineHandling = NewLineHandling.Entitize, })) { cmisAtomEntry.WriteXml(xmlWriter); } try { return (HttpWebResponse)request.GetResponse(); } catch (WebException wex) { var httpResponse = wex.Response as HttpWebResponse; if (httpResponse != null) { throw new ApplicationException(string.Format( "Remote server call {0} {1} resulted in a http error {2} {3}.", method, uri, httpResponse.StatusCode, httpResponse.StatusDescription), wex); } else { throw new ApplicationException(string.Format( "Remote server call {0} {1} resulted in an error.", method, uri), wex); } } catch (Exception) { throw; } 

这应该有所帮助:

 var request = (HttpWebRequest)WebRequest.Create("http://example.com/page.asp"); string stringData = ""; //place body here var data = Encoding.ASCII.GetBytes(stringData); // or UTF8 request.Method = "PUT"; request.ContentType = ""; //place MIME type here request.ContentLength = data.Length; var newStream = request.GetRequestStream(); newStream.Write(data, 0, data.Length); newStream.Close();