我已经看到了很多发送http帖子的实现,并且我承认我并不完全理解底层细节以了解所需要的内容.
在C#.NET 3.5中发送HTTP POST的简洁/正确/规范代码是什么?
我想要一个通用的方法
public string SendPost(string url, string data)
Run Code Online (Sandbox Code Playgroud)
可以添加到库中并始终用于发布数据,并将返回服务器响应.
我需要以编程方式下载大文件,然后再进行处理.最好的方法是什么?由于文件很大,我想要特定的时间等待,以便我可以强行退出.
我知道WebClient.DownloadFile().但似乎没有办法确定等待一段时间以便强行退出.
try
{
WebClient client = new WebClient();
Uri uri = new Uri(inputFileUrl);
client.DownloadFile(uri, outputFile);
}
catch (Exception ex)
{
throw;
}
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用命令行实用程序(wget)下载文件并使用ProcessStartInfo触发命令并使用Process'WellForExit(int ms)强制退出.
ProcessStartInfo startInfo = new ProcessStartInfo();
//set startInfo object
try
{
using (Process exeProcess = Process.Start(startInfo))
{
//wait for time specified
exeProcess.WaitForExit(1000 * 60 * 60);//wait till 1m
//check if process has exited
if (!exeProcess.HasExited)
{
//kill process and throw ex
exeProcess.Kill();
throw new ApplicationException("Downloading timed out");
}
}
}
catch (Exception ex)
{
throw;
} …Run Code Online (Sandbox Code Playgroud) 是否有可以替换或像WinHttp.WinHttpRequest一样工作的内置.NET类?
谢谢!