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

标签 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 上发送请求?

最佳答案

这可能是旧的,但是对于那些可能遇到这个错误的人,你可以在这里使用这个方法:

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/

相关文章:

javascript - http 获取请求状态

c# - 使用 HttpWebRequest 的自定义 NTLM 身份验证

c# - String.Split() 删除前导零

c# - 消除循环并改用 Linq

c# - 多种形式的全局化

c# - 将 .Net Framework 应用程序与 .Net Core 库混合使用

c# - 在哪里可以找到 Windows.UI.Xaml.Media.Imaging 命名空间?

c# - 实例之间是否有共享的东西可以用来存储和共享一些值?

.net - NuGet.exe 命令行更新到特定版本

c# - 如何从谷歌地图读取返回的xml值