.NET如何发送HttpClient获取相同域中指定IP地址的请求

时间:2015-03-16 06:12:26

标签: c# .net httpwebrequest httpclient webrequest

我有问题。我从WebRequest迁移到HttpClient。 在WebRequest中我简单的实现:

var webRequest =   (HttpWebRequest)WebRequest.Create("http://111.111.111.111:8080/method");
webRequest.Host = "mysite:8080.com";

http请求正常。

然后我在HttpClient上替换了WebRequest,并遇到了问题。

var client = new HttpClient();
client.DefaultRequestHeaders.Host = "mysite:8080.com";
var result = await client.GetAsync("http://111.111.111.111:8080/method", cancellationToken).ConfigureAwait(false); // rise 404 error
在这种情况下,

GetAsync上升404。 HttpClient无法在指定的ip上发送请求吗?

1 个答案:

答案 0 :(得分:3)

这可能很旧,但对于那些可能会遇到此错误的人,可以使用此方法:

static async void getHttpClient()
    {
        string mUrl = "http://192.168.1.111/method";
        using (HttpClient client = new HttpClient())
        using (HttpResponseMessage response = await client.GetAsync(mURL))
        using (HttpContent content = response.Content)
        {
            string result = await content.ReadAsStringAsync();

            if (result != null)
            {
                Console.WriteLine(result);
            } else
            {
                 //
                 // ERROR
                 // 
            }
        }
    }

快乐编码