C# 从c进行Http调用#

C# 从c进行Http调用#,c#,C#,有一个经典的asp应用程序,它使用AspHttp.Conn调用.shtml文件。它通过追加所有输入来发出请求,还通过按长度读取响应中的值来读取响应。 这是一个例子 strMessage= "test.shtml" Set HttpObj = Server.CreateObject("AspHTTP.Conn") HttpObj.Url = url & strMessage HttpObj.PostData = "testarea=" & strRequestData HttpOb

有一个经典的asp应用程序,它使用AspHttp.Conn调用.shtml文件。它通过追加所有输入来发出请求,还通过按长度读取响应中的值来读取响应。 这是一个例子

strMessage= "test.shtml"
Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HttpObj.Url = url & strMessage
HttpObj.PostData = "testarea=" & strRequestData
HttpObj.TimeOut = 60
HttpObj.RequestMethod = "post"
strResponseData = HttpObj.GetURL

Response.Write  Mid(strResponseData,3,1)
Response.Write  Mid(strResponseData,4,3)

如果我需要重写这个,最好的方法是什么。我将使用MVC并将重写UI。从c#发出httpcall的最佳方法是什么?。请求将发送到的后端将不会更改。请建议。

使用.Net Framework 4.5,您可以根据需要提出请求

public static async Task<int> HtmlLoadAsync(string url/*, bool addUserAgent = false*/)
{
    try
    {
        var client = new HttpClient();
        //if (addUserAgent)                 OPTIONAL 
        //{
        //    client.DefaultRequestHeaders.UserAgent.ParseAdd(UserAgent);
        //}
        //client.Timeout = TimeOut;
        var response = client.GetStringAsync(url); //here you can change client method according to your required outpu
        var urlContents = await response;            
        // process urlContents now
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
    return 0;
}

注意:您必须添加引用
System.Net.Http

有几种方法,例如使用
HttpClient
对象或
WebRequest
对象。谷歌上有很多例子。
private async void Process()
{
  await HtmlLoadAsync("http://....");
}