我有这样的URI:
https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback
Run Code Online (Sandbox Code Playgroud)
我需要一个带有解析元素的集合:
NAME VALUE
------------------------
client_id SS
response_type code
scope N_FULL
access_type offline
redirect_uri http://localhost/Callback
Run Code Online (Sandbox Code Playgroud)
确切地说,我需要一个Java等价的C#HttpUtility.ParseQueryString方法.请给我一个建议.谢谢.
现有的Web应用程序正在Tomcat 4.1上运行.页面存在XSS问题,但我无法修改源代码.我决定编写一个servlet过滤器来在页面看到之前清理参数.
我想写一个像这样的Filter类:
import java.io.*;
import javax.servlet.*;
public final class XssFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String badValue = request.getParameter("dangerousParamName");
String goodValue = sanitize(badValue);
request.setParameter("dangerousParamName", goodValue);
chain.doFilter(request, response);
}
public void destroy() {
}
public void init(FilterConfig filterConfig) {
}
}
Run Code Online (Sandbox Code Playgroud)
但ServletRequest.setParameter不存在.
在将请求传递给链之前,如何更改请求参数的值?
在Groovy中有一种URLEncode吗?
我找不到任何字符串?String URL编码实用程序.
示例:dehydrogenase (NADP+)?dehydrogenase%20(NADP%2b)
(+而不是%20也可以接受,因为一些实现这样做)
我需要在Java中进行一些非常简单的URL操作.就像在查询中获取参数的值,或者更新它一样,...我期望在commons-lang包中找到一个简单的实用程序类,但是没有.我知道这是一个简单的问题,但是如果已经写了一些东西,为什么还要这样呢?你知道吗?
我想至少具备以下功能:
String myUrl = "http://www.example.com/test.html?toto=1&titi=2";
// get the value of a parameter
String parameterValue = UrlUtils.getParameterValue(myUrl, "toto");
Assert.equals(parameterValue, "1");
// update a parameter
String newUrl = UrlUtils.updateParameter(myUrl, "toto", 3);
parameterValue = UrlUtils.getParameterValue(myUrl, "toto");
Assert.equals(parameterValue, "3");
Run Code Online (Sandbox Code Playgroud)
理想情况下,它会处理所有与编码相关的问题,并使用java.net.Url以及Strings.
谢谢你的帮助 !
这个问题几乎肯定在之前被问过,但无论如何我都会问它,因为我找不到答案.
通常,是否有某种实用程序类可以帮助进行与URL/URI相关的常见字符串操作?
我正在考虑像Java SE的URL类,但可能更强一些.我正在寻找能让你做简单事情的东西,比如:
让我知道,谢谢!
可能重复:
如何将map转换为url查询字符串?
如何将Map转换为查询字符串?
例如:
MockHttpServletRequest request = getRequest();
HashMap<String, String> queryString = new HashMap<String, String>();
queryString.put("IDcontent", "4546446");
queryString.put("ID_CP", "604204d6-3ded-4882-9427-52f1ff8ee6c8");
request.setQueryString(mapToQueryString(queryString));
Run Code Online (Sandbox Code Playgroud)
我认为这是(mapToQueryString)做标准库,但我找不到它.
我想创建一个util方法,它使用键和值将HashMap转换为long String:
HashMap<String, String> map = new LinkedhashMap<>();
map.put("first_key", "first_value");
map.put("second_key", "second_value");
Run Code Online (Sandbox Code Playgroud)
我需要得到这个最终结果:
first_key=first_value&second_key=second_value
Run Code Online (Sandbox Code Playgroud) java ×6
hashmap ×2
groovy ×1
junit ×1
parsing ×1
query-string ×1
spring-mvc ×1
string ×1
uri ×1
url ×1
url-encoding ×1
urlencode ×1