0

次のコードを実行しています。

HttpClient httpclient = new DefaultHttpClient();

HttpResponse response = httpclient.execute(new HttpGet("(...)&avatarUrl={(...)}&socialId=1&sexo=m&username="));

私の問題はillegalArgumentException、単語からアットレター l を取得していることです。そのavatarUrl理由がわかりません。

よろしくお願いします。

4

2 に答える 2

1

?コード内の順序の問題に加えて、&パラメーターを渡すためのよりクリーンな方法があります。

HttpClient httpclient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
BasicHttpParams params = new BasicHttpParams();

params.setParameter("avatarUrl","...")
      .setParameter("socialId","...")
      .setParameter("sexo","...")
      .setParameter("username","...");

request.setParams(params);

HttpResponse response = httpclient.execute(request);

(テストされていませんが、動作するはずです)

注:少し誤解したため、元の回答を大幅に編集しました。

于 2013-01-10T20:39:08.010 に答える
0

HttpGetのソース コードを見ると、この例外は URL が無効であることを意味します。

  1. 最初のクエリ文字列パラメーターの前に?
  2. {およびURL の有効な文字で}はないため、エスケープする必要があります
于 2013-01-10T20:33:36.020 に答える