0

パラメータを使用してサーバーに https リクエストを送信する必要があります。そのうちの 1 つは URL です。次に行います。

HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(APIURL);
    httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("url", "https://api/v1/pictureadress/id"));
 ...

また、URL パラメータを追加するとエラーが発生しました。しかし、年齢、性別など、URL 以外の他のパラメーターを追加すると、エラーは発生しません。私は何を間違っていますか?

4

2 に答える 2

0

これを試して..

public void postData() throws Exception {


 HttpClient client = new DefaultHttpClient();
 HttpPost httppost = new HttpPost("http://www.xyz.com");

 List<NameValuePair> list = new ArrayList<NameValuePair>(1);

 list.add(new BasicNameValuePair("name","ABC");

 httppost.setEntity(new UrlEncodedFormEntity(list));

 HttpResponse r = client.execute(httppost);

}
于 2012-05-28T15:33:03.000 に答える
0

私はApacheコンポーネントライブラリに触れていません。しかし、BasicNameValuePairの API を見ると、入力された名前と値がエンコードされずにそのまま保存されていることがわかります。urlそれが、パラメーターの値がエラーをスローした理由だと思います。URL エンコードされた名前と値のペアの処理にまだ使用していない限り、 UrlEncodedFormEntityが必要になる場合があります。

于 2012-05-28T15:12:39.533 に答える