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 を実行できます。URLを自動的にエンコードします。

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 に答える