繁体   English   中英

C#HTTP请求

[英]C# HTTP Request

您好我遇到问题在C#中发送HTTP请求我想在HTTP请求中上传文件但我不知道该怎么做

这是html代码:

<form action="/decrypt/upload" method="post" enctype="multipart/form-data">
            <fieldset>
                <p class="formrow file_upload">
                <label for="dlcfile">Container File</label>
                <input type="file" class="file_field" name="dlcfile" id="dlcfile"/>
                <input type="text" value="Click here to select a file..." class="file_overlay" />
                </p>
                <p class="buttonrow"><button type="submit">Submit »</button></p>
            </fieldset>
        </form>

这是我的C#代码:

public static void decryptContainer(string path)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://dcrypt.it/decrypt/upload");
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";


        using (StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII))
        {
            writer.Write("dlcfile=" + path);
        }

        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        using (StreamReader reader = new StreamReader(response.GetResponseStream()))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }

我知道我必须给参数一个文件,但我不知道如何在C#中使用,有人可以帮助我:)

您可以使用WebClient ,而不是自己处理请求。 这本质上是所有这些HttpRequest类的包装类,使事情变得如此简单。 如果切换到这个,你的代码肯定会变得更简单。

您还应该看一下这个答案,它描述了如何使用C#将文件发布到Web服务器:

使用C#通过HTTP POST发送文件

或者,使用表单数据:

使用HTTPWebrequest上传文件(multipart / form-data)

暂无
暂无

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

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