繁体   English   中英

如何发送 HttpwebRequest 请求负载

[英]How to send HttpwebRequest request payload

我有一个 webRequest 要创建。 所以我正在使用(httpwebrequest)webrequest.Create(“/get”)。 我需要向这个请求发送一些有效负载/请求正文。 但是流编写器似乎只适用于 POST 请求。 我该如何做到这一点?

您不应尝试使用 get 请求将数据发布到服务器。 相反,您应该使用发布请求来完成此操作。 强烈建议您不要使用webrequest而是使用HttpClient但如果由于某种原因您绝对必须使用webrequest就像您使用遗留代码一样,这是完成此操作的基本方法:

try
{
    WebRequest request = WebRequest.Create("http://www.server.example/api/example");
    request.Method = "POST";
    byte[] package = Encoding.UTF8.GetBytes("package string example");
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = package.Length;
    Stream dataStream = request.GetRequestStream();
    dataStream.Write(package, 0, package.Length);
    dataStream.Close();
    WebResponse response = request.GetResponse();
    using (dataStream = response.GetResponseStream())
    {
        StreamReader reader = new StreamReader(dataStream);
        string responseFromServer = reader.ReadToEnd();
        //do something with the data retrieved from the server
    }
    response.Close();
}
catch (Exception ex)
{
//example catch
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM