【postデータ取得ツール】

htmlのsubmit時に行うpost送信について
post→getストリング変換、取得ツールやpost形式で送られたデータを取得するツールを知りたいです。
そういうソフトをご存知の方がいらっしゃいましたら教えていただけるとありがたいです。
よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/11/26 21:00:29
  • 終了:--

回答(2件)

id:t111 No.1

t111回答回数68ベストアンサー獲得回数02005/11/26 23:02:24

ポイント10pt

CGIの仕組みは上記URLが分かりやすいと思います。

submitで送られたデータはWebサーバに渡され、cgiプログラムに渡されます。

このとき、POSTならば標準入力に、GETならば環境変数QUERY_STRINGに入れて渡されます。

つまり、確認にはWebサーバーでCGIプログラムを動かすことが必要だということです。


私が作った簡単なCGIプログラムを載せておきます。


postget.cgi

-------------------------------------------------------------------------------

#!/usr/local/bin/perl


print ”Content-type: text/html¥n¥n”;

print ”<html>”;

if($ENV{’REQUEST_METHOD’} eq ”GET”){

print ”GET”;

@data = split(/&|=/,$ENV{’QUERY_STRING’});

%FORM = @data;

while( ($key,$val)=each(%FORM) ){

print ”$key = $val”;

}

}

if($ENV{’REQUEST_METHOD’} eq ”POST”){

print ”POST”;

$post = <STDIN>;

@data = split(/&|=/,$post);

%FORM = @data;

while( ($key,$val)=each(%FORM) ){

print ”$key = $val”;

}

}

print ”</html>”;

-------------------------------------------------------------------------------


これをHTMLからsubmitで呼び出せば送られたデータを見ることができます。

以下に例を載せておきます。


get.htm

-------------------------------------------------------------------------------

<HTML><BODY>

<FORM METHOD=GET ACTION=postget.cgi>

<INPUT TYPE=TEXT NAME=TXT1>

<INPUT TYPE=TEXT NAME=TXT2>

<INPUT TYPE=SUBMIT VALUE=送信>

</FORM>

</BODY></HTML>

-------------------------------------------------------------------------------


post.htm

-------------------------------------------------------------------------------

<HTML><BODY>

<FORM METHOD=POST ACTION=postget.cgi>

<INPUT TYPE=TEXT NAME=TXT1>

<INPUT TYPE=TEXT NAME=TXT2>

<INPUT TYPE=SUBMIT VALUE=送信>

</FORM>

</BODY></HTML>

-------------------------------------------------------------------------------

p.s.

この回答フォームでは、半角の”が全角の”に、半角の’が全角の’に置換されてしまうので、プログラムをコピー&ペーストして利用する場合には、半角に置換し直してしてください。

id:nitscape No.2

nitscape回答回数526ベストアンサー獲得回数02005/11/26 22:32:24

ポイント40pt

POSTを取得ということはWEBサーバーですよね。WEBサーバーの種類(ApacheやIISなど)は何でしょうか?また使用する言語(PHPやCなど)は何でしょうか?


具体的にどのような用途でどのように使いたいかを書くと適切な回答を得やすいと思います。


ちなみにC++では以下のような感じで取得します。こうして取得したデータはGETで取得したデータ(URLの一部)と同じ形式になっています。


intret;

intnLen;

char*lpszEnv;


ret = 0;

lpszEnv = getenv(”CONTENT_LENGTH”);

if(lpszEnv != NULL)

{

nLen = atol(lpszEnv);

if(m_lpszDataLine != NULL)

deletem_lpszDataLine;


m_lpszDataLine = new char[nLen + 3];

if(m_lpszDataLine != NULL)

{

scanf(”%s”,m_lpszDataLine);

m_lpszDataLine[nLen] = ’¥0’;

ret = 1;

}

}

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません