C# HTTP Request
本文关键字:Request HTTP | 更新日期: 2023-09-27 18:11:06
你好,我在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#将文件POST到web服务器:
使用c#通过HTTP POST发送文件
或者,使用Form data:
使用HTTPWebrequest (multipart/form-data)上传文件