我有问题。我从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上发送请求吗?
答案 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
//
}
}
}
快乐编码