リクエストとレスポンスを比較したところ、コンテンツ タイプであることがわかりました。画像があればマルチパートを投稿していましたが、画像がなければ別のものでした。
だから私はライブラリの RequestParams クラスに入り、これらの変更を加えました。今では正常に動作します。さらなる問題について、私が行った変更を投稿しています。
このリクエストがマルチパートとして投稿する必要があるかどうかを判断するフラグを立てます。
private boolean shouldUseMultiPart = false;
このパラメーターを設定するコンストラクターを作成しました。
public RequestParams(boolean shouldUseMultiPart) {
this.shouldUseMultiPart = shouldUseMultiPart;
init();
}
そして、 getEntity() メソッドに次の行を適用しました。
/**
* Returns an HttpEntity containing all request parameters
*/
public HttpEntity getEntity() {
HttpEntity entity = null;
if (!fileParams.isEmpty()) {
...
} else {
if (shouldUseMultiPart) {
SimpleMultipartEntity multipartEntity = new SimpleMultipartEntity();
// Add string params
for (ConcurrentHashMap.Entry<String, String> entry : urlParams
.entrySet()) {
multipartEntity.addPart(entry.getKey(), entry.getValue());
}
// Add dupe params
for (ConcurrentHashMap.Entry<String, ArrayList<String>> entry : urlParamsWithArray
.entrySet()) {
ArrayList<String> values = entry.getValue();
for (String value : values) {
multipartEntity.addPart(entry.getKey(), value);
}
}
entity = multipartEntity;
} else {
try {
entity = new UrlEncodedFormEntity(getParamsList(), ENCODING);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
return entity;
}