我创建了一个简单的函数来执行Http PUT请求 -

public string checkIfUserExists(string userName)
    {
        var endPoint = new Uri("http://localhost:8080/jasperserver/rest_v2/users/"+userName);

        var request = (HttpWebRequest)WebRequest.Create(endPoint);
        request.Method = "PUT";
        request.ContentType = "urlencoded";

        var response = (HttpWebResponse)request.GetResponse();

        return "Success";
    }

当我执行此操作时,我得到一个异常“无效的URI:指定了无效的端口” -

var endPoint = new Uri("http://localhost:8080/jasperserver/rest_v2/users/"+userName);

有什么想法解决这个问题? 是localhost的问题:网址的8080部分?

#1楼 票数:1

看看这个问题无效的URI:当url有多个冒号时指定的端口无效

您是否检查过用户名是否存在可能导致问题的字符?

评论后编辑 - 我引用此问题的原因是因为发生'无效端口'错误不是因为实际端口错误,而是因为URL中的其他无效字符。 验证用户名是否已正确编码可以防止出现此问题。

var endPoint = new Uri("http://localhost:8080/jasperserver/rest_v2/users/" 
      + HttpUtility.UrlEncode(userName));

#2楼 票数:1 已采纳

我使用string.Concat()方法修复了这个错误: -

var endPoint = new Uri(string.Concat("http://localhost:8080/jasperserver/rest_v2/users/", userName));

#3楼 票数:0

确保在将其连接到userName参数之前使用https://msdn.microsoft.com/en-us/library/system.web.httputility.urlencode%28v=vs.110%29.aspx之类的内容URL。

#4楼 票数:0

我正面临着这个问题,并发现这是我的疏忽导致了这个问题。 我在创建HttpRequestMessage实例时遇到了问题,如下所示。

var request = new HttpRequestMessage(new HttpMethod("PUT"), 
                    $"{_nextcloudConfigurationProvider.NextcloudBaseUrl}{FileConstants.ApiUploadFile.Replace("{UserName}", UserName)}");

在此输入图像描述

问题是我在第二次常数之前错过了一个斜线“/”。 它是remote.php/dav/files/{UserName}/{directoryName}/而不是/remote.php/dav/files/{UserName}/{directoryName}/ 添加斜杠为我解决了问题。

只是为那些想念傻事的人分享这个,就像我一样。

  ask by Rookie translate from so

未解决问题?本站智能推荐:

2回复

在C#中检索Http客户端的POST请求正文

有什么方法可以在C#中检索Http Client的POST请求正文? 我只想检查我的UT是否将我的扩展方法正确地添加到请求中。 此功能对此没有任何公正性。 请帮忙 !
1回复

HTTP请求未响应[重复]

可能重复: 在C#中调整HttpWebRequest连接超时 在我的代码中,我正在调用实时聊天API以以下格式获取操作员列表: 今天,实时聊天api掉线了,由于我们的网站也掉线了。 在这种情况下,api请求一直在旋转,并且处于“未响应”状态。 如何解决这个问题?
1回复

在MVC4中访问原始http请求

关于在stackoverflow上访问HttpRequest有很多问题,但是我还没找到一个我可以使用的。 如果有人能指出我的答案,我将不胜感激。 我的问题是我想以最简单的方式修改现有的应用程序,以便添加完整的请求记录。 我知道这可以通过Http模块和IIS日志记录或使用Log4net等
3回复

可以在标题中指定异步文件吗?

所以我的时间表总是这样 http://see.kirkstrobeck.com/TjQU/Screen%20Shot%202014-02-04%20at%206.40.14%20PM.png index.html加载然后请求其他文件。 我想有没有办法让响应请求的标题说明应该删除哪些
2回复

Android-Volley设置特定端口

一个很简单的问题,但是没有找到适当的答案。 在以Volley作为库执行(GET)http请求时,是否可以设置要使用的特定端口?
2回复

loopj android-async-http请求有时根本没有响应

我正在使用此库从我的Web服务中请求。 有时在onSuccess和onFailure中根本没有响应(这是我覆盖的仅有的两个方法)。 我在1.4.4和1.4.5下进行了测试(android-async-http-1.4.5-20131110.125018-1,这个比较好,但有时仍然会遇到问题)
2回复

返回大量记录(大约20000或更多)时,收到HTTP响应时发生错误

问题:我有一个函数可以根据列表返回大量记录,因此在获取该记录时会引发以下异常。 下面列出了异常和堆栈跟踪的详细信息: 异常 :收到对的HTTP响应时发生错误,这可能是由于服务端点绑定未使用HTTP协议引起的。 这也可能是由于服务器终止了HTTP请求上下文(可能是由于服务关闭了)。 有
2回复

HTTP 请求跟踪

是否有任何工具可以跟踪程序发送的确切 HTTP 请求? 我有一个应用程序,它作为网站的客户端工作并促进某些任务(特别是它是一个机器人,它根据一些预定义的标准在社交借贷网站中自动提供报价),我有兴趣监控实际的 HTTP 请求它使。 有关于这个主题的教程吗?