1
String temp1=(String)firstname.getText().toString(); 
String temp2=(String)lastname.getText().toString();
String urlreg="http://localhost/welcome.php?firstname="+temp1+"&lastname="+temp2;

这里 firstname 和 lastname 是 editText 字段。

我收到如下错误。

LogCat 错误:

09-11 22:11:09.529: E/AndroidRuntime(1204): FATAL EXCEPTION: main 09-11 22:11:09.529: E/AndroidRuntime(1204): java.lang.IllegalArgumentException: Illegal character in query at index 54: http://localhost/welcome.php?firstname=ji&lastname=kij

如果我将代码修改为

String urlreg="http://localhost/welcome.php?firstname="+temp1+"&lastname";

我哪里错了?

4

2 回答 2

2

在使用 urlreg 之前,您需要使用 URLEncoder.encode() 对其进行 url 编码以取出特殊字符。

于 2012-09-11T17:17:11.760 回答
0

或者你可以做Httppost。它会自动对您的网址进行编码。

ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("var_name", value));

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.example.in/submit.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
于 2012-09-11T19:02:44.287 回答