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の設定で回避できるのかも知れませんが、どなたか情報をお持ちではないでしょうか?
もうひとつ・・・・
Delphi7で動いているCGIを2010でコンパイルした結果
2008server+IIS7ではRequest.Contentのみ取得できましたが
2003server + アパッチ環境では Request.Content は''です。当然Request.Contentfields.Value[]の値も''です。
仕様なのかバグなのか私の力不足なのか・・・・
ツイート | ![]() |