Java 如何使用URLEncoder.encode android
如何正确使用URLEncoder.encode 当我对字符串进行编码以将参数传递到url时,url中的Java 如何使用URLEncoder.encode android,java,android,urlencode,Java,Android,Urlencode,如何正确使用URLEncoder.encode 当我对字符串进行编码以将参数传递到url时,url中的=和?正在转换并破坏我的php脚本 这是我正在编码的字符串 String spinnerURL = "getName.php?name=flowers"; 下面是我对字符串进行编码并执行http请求的脚本: query = URLEncoder.encode(spinnerURL, "utf-8"); Log.d(TAG, query.toString());
=
和?
正在转换并破坏我的php脚本
这是我正在编码的字符串
String spinnerURL = "getName.php?name=flowers";
下面是我对字符串进行编码并执行http请求的脚本:
query = URLEncoder.encode(spinnerURL, "utf-8");
Log.d(TAG, query.toString());
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpPost = new HttpGet("http://www.website.com/tattoo/" + query);
}
当我检查logCat的标记时,我看到url如下所示
getName.php%3Fname%3Dflowers
我省略了catch和其他几行代码,它们不会影响url ecode和http调用。这是出于设计。您应该分别对
getName.php
、name
和flowers
进行编码。这很有意义。那么,我会将url拆分,然后进行enode并将其重新拼接在一起吗?最好将其命名为URLEncoder.encodeParam()或者甚至是UrlParamenCode.encode()@InferenceOne:不。当您有一组用户输入的字符串,而您不希望对其进行任何特殊解释时,您会对这些内容进行url编码。例如,如果用户输入的字符串可能包含&
,而您没有对此进行筛选,那么URL编码该字符串将允许正确发送&
,而不是启动下一个参数。因此,如果你说的是“拆分URL”,那听起来与URL编码的常用用例非常不同。那么你想做什么呢?@Sam:当然,但是JDK中使用的名称是urlcoder
。由于兼容性要求,他们不可能对其进行重命名。@Chris我对脚本中设置的字符串进行了编码(不是用户输入的),所以我想我根本不需要对其进行编码。我继续往前走,刚刚“按原样”过了线,一切正常。谢谢你的反馈。