CGI をDelphi7から2010へ移行で(post)エラー


トシ  2011-12-09 01:19:08  No: 41311

delphi7+IIS7 で動いていたCGIをdelphi2010で再コンパイルしたところエラーになったので、簡単にhtmlファイルに

<FORM method="POST" enctype="text/plain" name="testpage" action="/cgi-bin/test.cgi/info1" >
<INPUT size="50" type="text" name="name1">
<INPUT type="submit" name="send" value="送信">
</form>

として
test.cgiで

response.content:=request.pathinfo;
とか
response.content:=request.content;

だと  エラーになりません。が

response.content:=request.contentfields.value['send'];

とするとエラーになってしまいます。

同じソースをDephi7でコンパイルすると、正常に動きます。
ちなみに、アパッチや旧IISだと、Request.pathinfoは /info1  となりますが  IIS7 だと/cgi-bin/test.cgi/info1  となり TWebModuleのOnActionがdefaultしか実行されません。これは、プログラムで回避しました。がrequest.contentfields.value  の値が取れないです。

IISの設定で回避できるのかも知れませんが、どなたか情報をお持ちではないでしょうか?


トシ  2011-12-09 02:32:25  No: 41312

もうひとつ・・・・
Delphi7で動いているCGIを2010でコンパイルした結果
2008server+IIS7ではRequest.Contentのみ取得できましたが  
2003server + アパッチ環境では  Request.Content  は''です。当然Request.Contentfields.Value[]の値も''です。

仕様なのかバグなのか私の力不足なのか・・・・


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加