我怎样才能获得url字符串编码

时间:2017-05-02 10:05:10

标签: java url encoder

我想要一个看起来像这样的网址

"http://example.com/get_item_data.php?uid="inv_no"

我尝试了网址编码器,但无法弄明白,

我第一次尝试这个,它没有用

try {
   json_url = "http://example.com/get_item_data.php?uid="+  URLEncoder.encode(inv_no, "UTF-8");
} catch (UnsupportedEncodingException e) {
   e.printStackTrace();
}

然后这个

try {
   json_url = "http://example.com/get_item_data.php?uid="+ URLEncoder.encode("inv_no", "UTF-8") + "=" + URLEncoder.encode(inv_no, "UTF-8");
} catch (UnsupportedEncodingException e) {
   e.printStackTrace();
}

然而,没有结果,请帮助

3 个答案:

答案 0 :(得分:0)

在您添加'inv_no'变量后对整个字符串进行编码。

try { json_url = URLEncoder.encode('http://example.com/get_item_data.php?uid='+inv_no, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }

答案 1 :(得分:0)

通常您不必引用您的参数。所以对我来说,你的第一次试验是正确的:

   json_url = "http://example.com/get_item_data.php?uid="+ 
                  URLEncoder.encode( inv_no, "UTF-8");

不确定您要尝试做什么,但在查看您的问题时,我建议使用以下代码:

try {
   json_url = "http://example.com/get_item_data.php?uid=\""+ 
                  URLEncoder.encode( inv_no, "UTF-8") + "\"";
} catch (UnsupportedEncodingException e) {
   e.printStackTrace();
}

在这种情况下,您的引号超出了编码参数inv_no

甚至:

try {
   json_url = "http://example.com/get_item_data.php?uid="+ 
                  URLEncoder.encode("\"" + inv_no + "\"", "UTF-8");
} catch (UnsupportedEncodingException e) {
   e.printStackTrace();
}

在这种情况下,参数inv_no和引号将被编码。

答案 2 :(得分:0)

try {
       String    json_url = "\"http://example.com/get_item_data.php?uid=\"inv_no\"";
     System.out.println(json_url);  
     } catch (Exception e) {
           e.printStackTrace();
        }