我有一个问题。我从 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 上发送请求?
最佳答案
这可能是旧的,但是对于那些可能遇到这个错误的人,你可以在这里使用这个方法:
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
//
}
}
}
快乐的编码
关于c# - .NET 如何发送 HttpClient 获取同一域中指定 IP 地址的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070570/