プロが教える店舗&オフィスのセキュリティ対策術

JavaによるHTTP通信で
URLconnectionを使って
POSTで二つ以上の変数を送信する
方法を調べているのですが
なかなか見当たりません。
ご存知の方がいたら教えてください。
よろしくお願いします。

A 回答 (2件)

まずはHTTPについて調べてみてはいかがですか?


POSTのHTTPリクエストがどうなっているかわかればどうやって送ればいいかわかると思います。

または、パケットキャプチャ等を利用して、POSTリクエストを解析してみるのも良いかと思います。
    • good
    • 0
この回答へのお礼

手元に資料が無いので行き詰ってしまったのですが
また週末にでも本屋で調べてみます。
パケットキャプチャも使ったことないので
調べてみます
回答ありがとうございました。

お礼日時:2006/02/08 08:18

「2つ以上の変数を送信する」というのがよくわからないんですが・・・。

1つの値を送ることは既にできているのでしょうか。それができるなら1つも2つも同じでしょう。
 URLConnectionからOutputStreamを取得し、それを使ってPrintStreamを作成していることと思いますが、そこで送信する内容をprintするときに必要なだけ値を&するだけです。例えば、

[PrintStream].print("a=hoge&b=hoge&c=hoge");

これでa,b,cの3つの値が送れると思いますが。これでうまくいきませんか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
kyon2PaPaさんに言われて勘違いに気付きました。

おっしゃられるように
http://www.hellohiro.com/http.htm
のとおりにプログラムを書いてprint("a=hoge&b=hoge&c=hoge")
のように書くことでできることを
確認しました。

いままでは
HTTPヘッダより下を全部まとめて
文字列として取得するプログラムを
作成していたので、そのうち
変数を付けた物は送れないと
思い込んでました(汗

しかし、送信する変数に
URLEncoder.encodeをかけると
失敗します。
まだまだ勉強不足のところが多いので
いろいろ調べてみようと思います。
ありがとうございました。助かりました。

お礼日時:2006/02/08 09:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!