HTTP通信
- URLのインスタンスを作成。ここで接続先を指定する。
- URLのインスタンスのopenConnectionで接続
- パラメータはOutputStreamで出力する
- getResponceMessage()でレスポンスのボディを受け取る
- disconnect()で通信終了
reader.close();
uc.disconnect();
}
文字化けが起きた
しばらく何事もなかったのに、
Toodledoで新しいタスクを作成する処理を行っているときに、iPhone経由でのタスク登録にて文字化けが発生。(iPhone以外では、日本語のタスクを作成しなかった、とかではないと思うが。。。)
- アラートで表示 OK
- サーバでの受取での表示 OK
- Toodledo での受取 NG
なので、servlet→toodledoの送信でだめ?っぽい。
文字コードをセットできる場所として
PrintStream 生成時に UTF-8 を追加
[[PrintStream(java.io.OutputStream, boolean, java.lang.String)
で、正常動作(文字化け回避)になった。
パラメータの出力
パラメータはOutputStreamで出力する
(HttpURLConnection).getOutputStream
でもOutputStreamはバイト文字列で表記とか、使いづらい。
当初、PrintWriterクラスを使っていたが、日本語を使う必要が出た際に、文字化けで詰まったので、
OutputStreamWriterクラスを使うようにした。
レスポンスの「確認」
System.err.println(httpcon.getResponseCode()) // 戻り値はint
System.err.println(httpcon.getResponseMessage())
basic 認証
最終更新:2017年01月22日 11:39