首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取HTTP和HTTPS请求的Servlet中的完整URL和查询字符串

获取HTTP和HTTPS请求的Servlet中的完整URL和查询字符串
EN

Stack Overflow用户
提问于 2013-05-22 00:41:06
回答 2查看 240.3K关注 0票数 80

我正在编写一个代码的任务是检索一个请求的URL或完整路径。我写了下面的代码:

代码语言:javascript
复制
HttpServletRequest request;//obtained from other functions
String uri = request.getRequestURI();
if (request.getQueryString() != null)
    uri += "?" + request.getQueryString();

所以,当我浏览http://google.com?q=abc时,它是正常的(正确的)。但是当我浏览https://google.com的时候出现了问题。uri的值为http://google.com:443google.com:443,因此程序不仅在使用HTTPS时才会这样做。

request.getRequestURL().toString()的输出也是一样的。

解决方案是什么?

EN

回答 2

Stack Overflow用户

发布于 2015-12-19 19:35:45

只需使用:

代码语言:javascript
复制
String Uri = request.getRequestURL()+"?"+request.getQueryString();
票数 10
EN

Stack Overflow用户

发布于 2020-03-10 13:21:07

我知道这是一个Java问题,但是如果你使用Kotlin,你可以很好地做到这一点:

代码语言:javascript
复制
val uri = request.run {
    if (queryString.isNullOrBlank()) requestURI else "$requestURI?$queryString"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16675191

复制
相关文章

相似问题

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