首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复“提供了无效的请求URI。请求URI必须是绝对URI,或者必须设置BaseAddress”

如何修复“提供了无效的请求URI。请求URI必须是绝对URI,或者必须设置BaseAddress”
EN

Stack Overflow用户
提问于 2019-09-05 01:12:12
回答 1查看 9.8K关注 0票数 1

当我试图使用HttpClient.GetStringAsync发出GET请求时,我的程序就会爆炸。

这是错误消息:

An invalid request URI was provided. The request URI must either be an absolute URI or BaseAddress must be set.

假设基于用户选择的IP,我的程序对其不同的变体提出请求,以了解哪个是可用的。例如:用户选择"192.168.0.20",那么我的程序必须向"192.168.0.1,192.168.0.2,……“发出请求。

代码语言:javascript
运行
复制
private static readonly HttpClient client = new HttpClient();
代码语言:javascript
运行
复制
            try
            {
                string[] ips = cbxIps.SelectedValue.ToString().Split('.');
                string ip = ips[0] + "." + ips[1] + "." + ips[2] + ".";
                for (int i = 1; i < 255; i++)
                {
                    var responseString = client.GetStringAsync(ip + i.ToString() + ":8080/alive");
                    if (responseString.Result == "200")
                    {
                        Servidor s = new Servidor(IPAddress.Parse(ip + i.ToString()), "Servidor " + i.ToString());
                        Servidor.Agregar(s);
                    }
                }
                Actualizar();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-05 01:15:50

在调用https://)时,需要在ip地址之前指定HTTP方案(http://或GetStringAsync )

例如,

代码语言:javascript
运行
复制
var responseString = client.GetStringAsync("https://" + ip + i.ToString() + ":8080/alive");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57797247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档