从c#进行Http调用

本文关键字:调用 Http 进行 | 更新日期: 2023-09-27 18:02:32

有一个经典的asp应用程序,它使用aspttp . 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的最佳方法是什么?请求将被发送到的后端不会被更改。请建议。

从c#进行Http调用

使用。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;
}

现在叫它

private async void Process()
{
  await HtmlLoadAsync("http://....");
}

注意:必须添加参考System.Net.Http