代码之家  ›  专栏  ›  技术社区  ›  Denny Williams

如何将字符串转换为url字符串?

  •  0
  • Denny Williams  · 技术社区  · 2 年前

    我想将字符串转换为该字符串的url版本。例如:

    敏捷的棕色狐狸跳过了懒狗

    显然,在这个示例中,我可以用%20替换空格,但我希望它也能处理更复杂的输入字符串,例如符号。我现在是这样做的,但速度很慢:

    public static String toURLString(String str)
        {
            try
            {
                WebClient webClient = new WebClient();
                HtmlPage page = webClient.getPage("https://www.google.com/search?q=" + str);
                String prefix = "https://www.google.com/search?q=";
                String tokens = page.getUrl().toString().substring(prefix.length());
                webClient.close();
                return tokens;
            } catch (FailingHttpStatusCodeException | IOException e)
            {
                e.printStackTrace();
                return null;
            }
        }
    

    这只是使用htmlunit用字符串搜索google,然后从url获取字符串,但必须有更好的方法。由于创建webclient和搜索google,此方法非常慢。我怎样才能做得更好?

    1 回复  |  直到 2 年前
        1
  •  1
  •   SamHoque    2 年前

    你可以使用 URLEncoder 这门课。 https://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html

    URLEncoder.encode("Your String here", StandardCharsets.UTF_8);