HttpUrlConnection を使用して、Android アプリケーションから php サーバー - drupal cms Web サイトへの投稿データ (ログイン用の JSON 形式のユーザー名とパスワード) を試みています。ログイン用の私のコードは次のとおりです。私はこの応答を得ています:
java.net.ProtocolException: 要求ヘッダーが既に送信されているため、OutputStream を使用できません!
Google やその他のスタックオーバーフローの質問を検索しましたが、問題の解決策が見つかりません。だから助けてください。
聞いてくれてありがとう。
HttpURLConnection httpcon = null;
int status = 0;
try {
httpcon = (HttpURLConnection) ((new URL("my URL here").openConnection()));
httpcon.setDoOutput(true);
httpcon.setRequestProperty("Content-Type", "application/json");
httpcon.setRequestProperty("Accept", "application/json");
httpcon.setRequestMethod("POST");
status = httpcon.getResponseCode();
httpcon.getHeaderFields();
System.out.println("===================>httpcon.getHeaderFields()"+httpcon.getHeaderFields());
} catch (ProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
httpcon.connect();
byte[] outputBytes = "{'username':'uname','password':'pass'}".getBytes("UTF-8");
OutputStream os = httpcon.getOutputStream();
os.write(outputBytes);
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return status;