sなしに通信するので以下の設定
network_security_config.xml
network_security_config.xml
1<network-security-config> 2 <domain-config cleartextTrafficPermitted="true"> 3 <domain includeSubdomains="true">http://hogehoge</domain> 4 </domain-config> 5</network-security-config>
マニフェストに以下を追加
AndroidManifest.xml
AndroidManifest.xml
1android:networkSecurityConfig="@xml/network_security_config"
MainActivity.java
String rUrl = "http://hogehoge"; String json = "{'text':'hello'}"; HttpSendJSON HttpSendJSON = new HttpSendJSON(); HttpSendJSON.callPost(rUrl, json);
HttpSendJSON.java
~前略 public String callPost(String strPostUrl, String JSON) { HttpURLConnection con = null; StringBuffer result = new StringBuffer(); try { URL url = new URL(strPostUrl); con = (HttpURLConnection) url.openConnection(); // HTTPリクエストコード con.setDoOutput(true); //con.setRequestMethod("POST"); // リクエストのbodyにJSON文字列を書き込む OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream()); out.write(JSON); out.flush(); con.connect(); // HTTPレスポンスコード final int status = con.getResponseCode(); ~後略
で、最後のHTTPレスポンスコード「status」に400がはいって、帰ってくる
httpsでリクエストすると200になり、正しい結果が得られるが、sなしだとダメ。
諸事情で、sなしでなければだめなので、何とかしたいです。
何卒よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー