ネット上のサーバーにデータを送るには(POSTメソッド)
POSTメソッドでサーバーにデータを送るには、送信データをセットした後にhttpコネクションを接続します。
例)
サーバー上のプログラム"WritePost.cgi"にPostメソッドでリソース内のデータ"sample.gif"を送信し、サーバーに保存します。
HttpPostSample.zip(この例の実際のプロジェクトと"WritePost.cgi")
※ADF設定(*.JAMファイル)の"UseNetwork" に "http"の設定が必要。
※DoJa SDK シミュレーション環境で実行する場合、[ネットワーク設定]のADFのURLを必ず設定して下さい。
import com.nttdocomo.ui.*;
import javax.microedition.io.Connector;
import com.nttdocomo.io.HttpConnection;
import java.io.*;
public class HttpPost extends IApplication
{
public void start()
{
// 保存処理をするCGIのURL
String CGI = getSourceURL() + "WritePost.cgi";
HttpConnection http=null;
// バッファを作成
byte [] buf = new byte[1024];
try
{
// HTTPコネクションを接続
http = (HttpConnection)
(Connector.open(CGI,Connector.READ_WRITE));
http.setRequestMethod(HttpConnection.POST);
http.setRequestProperty("Content-type","image/gif");
OutputStream os=http.openOutputStream();
// リソースにアクセス
DataInputStream in;
in=Connector.openDataInputStream("resource:///sample.gif");
int len;
// バッファを介して送信データセット
while((len=in.read(buf))>0)
{
os.write(buf,0,len);
}
in.close();
os.close();
// 実際の接続
http.connect();
}
catch(IOException e)
{
System.out.println(e);
}
// コネクションを閉じる
try
{
if(http!=null) http.close();
}
catch(Exception e){}
// アプリ終了
terminate();
}
}
|