• ベストアンサー

"POST" メソッドが使えない

大変 抽象的な質問ですが Win2000 SP2 + IIS5.0の 環境でPOSTメソッドが使えないのですが、何か心当たりの方はいらっしゃい ませんでしょうか ? GETメソッドは正常に動作します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

具体的な質問がかけていないということは、 GETとPOSTの区別がついていないだけではないでしょうか? METHOD=GETの場合 URLにつづく「?変数名1=値1&変数名2=値2」で値が渡され、環境変数 QUERY_STRING に格納されます。 METHOD=POSTの場合 標準入出力を使ったデータの受け渡しになり、標準入力から読み出すことができ、その長さはCONTENT_LENGTHに入っています。 具体的な方法は使用する言語によって異なります。

関連するQ&A

  • GETメソッドとPOSTメソッドの利点と欠点を教えてください

    GETメソッドとPOSTメソッドの利点と欠点を教えてください CGIプログラミングでデータを受信する際のそれぞれの利点と欠点を教えてください。 GETメソッドはデータがURLに表示されてセキュリティ上で問題があるのでは?と思うのですがどうなんでしょうか? 使い分けがうまくできればいいと思うのですが、どのように使い分けるのが良いでしょうか?

    • ベストアンサー
    • CGI
  • POSTメソッドの最大容量について

    環境(開発用)  OS:Window2003  webサーバ:IIS6.0  ブラウザ:IE8  cgiアプリ:Microsoft Visual c++ 6.0 ある画面(テーブル形式の表)よりボタンをクリックするとcgiアプリで処理を行う機能があります。 テーブルの1行内にpostメソッドが8個有り、ボタンごとに必要なPOSTデータを取得して 処理を行うような仕様です。 で、試験をしていくうちに、 テーブル行が200行を越えた場合、 cgiアプリ側で、データベースのオープンすらエラーになってしまいました。 その時のエラーメッセージは    could not connect to server: No buffer space available (0x00002747/10055) です。 テーブル行が150行の場合は、正常に処理できます。 (アバウトに、150行で試験したらOKで、200行で試験したらNGだったという事です) 原因を調べていくうちに、 POSTメソッドには制限がある(128Kまで?)とのサイトを見つけました。 制限は無い...とのサイトもありましたが、試しに 各行同じだけあったPOSTメソッド数を 処理ごとに1行内で必要なPOSTメソッドだけにしてみたところ、 200件を越えても、正常に処理ができました。 これって、つまりはブラウザに制限があるということになるでしょうか? また、この制限を大きくすることはできるのでしょうか? phpですと、MAX値を変更できる・・・ような事も書かれてあるサイトも見つかったのですが IE8、C++ の場合、設定変更できるのでしょうか?          

    • ベストアンサー
    • CGI
  • CGI:method="post"でもGETになる

    CGIで標準入力によりフォームデータを取得できないため、環境変数%ENV内の値を 調べましたところ、入力フォーム(html)のformタグでmethod="POST"と明示しているにも 拘らず、REQUEST_METHODの値がGETになっており、POST用のCONTENT_LENGTHも GET用のQUERY_STRINGも共に空になっております。 htmlでmethod="GET"と指定した場合には、REQUEST_METHODの値は正しくGETになり QUERY_STRINGからフォームデータを取得できます。 同じCGIをPC上のApache2.4でテストした結果、REQUEST_METHODはhtmlのmethod=~で 指定した通り正しくPOSTまたはGETとなり、それぞれフォームデータを 取得できることを確認いたしております。 この点についてプロバイダに問合せいたしましたが、サポート対象外ということで、 回答を得ることができませんでした。 このような現象の原因について、お心当たりのある方がおられましたら、 ご教示いただけないでしょうか、お伺いいたします。 (1)ホスト動作環境 a.CGIサーバ:Apache b. perl 5.10系 (2)PC動作環境 a.OS: Windows 7 b.ブラウザ: Internet Eexplorer 11 c.CGIサーバ: Apache 2.4 d. Activeperl 5.20

    • 締切済み
    • CGI
  • POSTからGETメソッドの変換方法

    URLでPOSTメソッドからGETメソッドにする時、アドレスバー上で変更出来ますか? <例> 4500円でサイズがMと設定した時、 POSTのURL example.com を /search?yen=4500&size=M と加えて example.com/search?yen=4500&size=M にアクセスすると、 POSTからGETに変わるものです。

    • ベストアンサー
    • PHP
  • PerlでPOSTを受け取るとタイムアウトになる

    PerlでPOSTを受け取るようになっているのですが あるサーバーでは正常に動作するのに、 あるサーバーではいつまでたっても画面が推移せず、結局タイムアウトになってしまいます 何故か、POSTをGETに変えると正常に動作するようになりますが、 そのCGIの使用目的上、GETの文字数制限が気になり、GETは使えません ちなみに、どちらのサーバーもWindowsで、 サーバーソフトウェアは、 動くほうは、ローカル環境で、ANHTTPDをを使っています。 動かないほうは、LAN上のサーバーで、04WEBServerです なぜこのようなことになってしまうのか 原因と解決策を教えていただけないでしょうか。 よろしくお願いします

  • メソッドについて

    POSTとGETのメソッドで、更新内容などによって使い分けているのですが、GET(POST)メソッドで送る場合、好きなように自分で送るメッセージを変更することはできるのでしょうか? テキスト欄の内容(text=*****)をGETで送った場合、url?text=*****となりますよね? ここをurl?text=*****&name=*****としたいのです 後ろのnameはテキスト欄から抽出するのではなく、プログラム内で処理判定(if文)に使うために送りたいのです。 <FORM METHOD = "GET" ACTION = "url?name=*****"> とやって呼び出してもname=*****の部分が消え、テキスト欄から抽出した値だけが送られていました。 自由自在にデータを送れるようになりたいです(^^; えっと、わかりにくい文章ですが、わかる方、レスお願いしますm(__)m

    • ベストアンサー
    • CGI
  • IISでPOSTリクエストのエラー

    IISでPOSTリクエストを実行すると、HTTP エラー 405.0 - Method Not Allowed 無効なメソッド (HTTP 動詞) が使用されているため、検索しているページを表示できません。 が表示されててしまいます。 IISのハンドラマッピングで  要求パス:*.html  モジュール:ServerSideIncludeModule  ハンドルする動詞:次の動詞のうちひとつ(GET,POST)  アクセス:スクリプト に設定してます。 他に設定があるのか教えてください

  • getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わる?変わらない

    getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わる?変わらない 以下のように、getとpostのメソッドがごっちゃになったようなフォームについて質問させてください。 ==================================================================================================== <?php //なお、PHP Version 5.1.6、CentOS4.4です。 /** 以下のように、 form tagで、actionにはクエリーストリングをつけて、でもmethodとしてpostを指定した場合、 */ ?> <form action="/phpinf.php?foo=bar&fuga=hoge" method="post" name="f"> <input type="hidden" name="text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost" value="ddddd" /> <input type="submit" name="submit" value="送信" /> </form> ==================================================================================================== の結果は、 $_GETの中身(全部)は $_GET["foo"] bar $_GET["fuga"] hoge //----------------------------------------------------------- $_POSTの中身(全部)は $_POST["text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost"] ddddd $_POST["submit"] 送信 //----------------------------------------------------------- $_REQUESTの中身(全部) は、 $_REQUEST["foo"] bar $_REQUEST["fuga"] hoge $_REQUEST["text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost"] ddddd $_REQUEST["submit"] 送信 $_REQUEST["セッションidの文字列"] fdhfdshdsfhhkfdsjfdsjf //----------------------------------------------------------- また、$_SERVER から抜粋すると、 $_SERVER["REQUEST_METHOD"] POST $_SERVER["QUERY_STRING"] foo=bar&fuga=hoge $_SERVER["REQUEST_URI"] /phpinf.php?foo=bar&fuga=hoge //----------------------------------------------------------- となりました。 こういった結果は、 OS,Webサーバ,phpやperlやrubyやasp...などの言語の種類(or 素のhtml)、 また、user agent にも関係なく、 同様の結果となるのでしょうか? さらに質問ですが、こういったformの記述は、RFCやW3Cの規約に反していないのでしょうか? ご存じの方がいらっしゃしまた、お教えいただければ幸いです。 以上、よろしくお願いいたします。

  • ezwebにおける POSTメソッドでの CGI実行はできるのでしょうか?

    下記のような普通のcgiを実行しようとしているのですが、 ezweb(au)だと「ページが表示できません」となってしまいます。 <form action=aaa.cgi method=post> ID<input type=text name=id> pass<input type=password name=pass> <input type=submit value=login> </form> 「method=get」にするとできるのですが、idとパスワードがURLに表示されてしまうので、できればpostで実行したいのです。 ■質問■ (1)ezwebだとpostではできないのでしょうか? (2)何かキャッシュのコントロールなどで回避できるのでしょうか? (3)キャッシュのコントロールの場合、それはユーザー側でやることですか?それともCGI側でできることですか? auはA5501T でCDMA1Xシリーズです。 UPのシミュレーターでも動作しませんでした。 auのページで仕様を見ると、POSTメソッドはOKになっており、また、HDMLではなくHTMLにも対応しているとのことでした。 3キャリア対応にしたいので、auだけのためにHDMLでかくようなことはしたくないのですが。。。

    • ベストアンサー
    • CGI
  • IISのログに出力される「GET」と「POST」の意味

    IISのログに出力される「GET」と「POST」の意味 IISのログに出力される「GET」と「POST」はどういう意味なのでしょうか。 「GET」はサーバーからクライアントに送信した画面で 「POST」はクライアントがsubmitした画面のことなのでしょうか? aspでできているwebシステムを表示したログを解析しています。

専門家に質問してみよう