在我的服務器上,我沒有安裝CGI,是否可以在沒有該模塊的情況下獲取原始發佈數據?我試着檢查CGI.pm的源代碼,但沒有發現任何問題。閱讀perl中沒有CGI模塊的cgi原始發佈數據
0
A
回答
2
您可以通過從STDIN中讀取來提取POST數據。 (Viewing raw POST data)
paramExtractor.cgi
#!/usr/bin/perl
use strict;
use warnings;
my $buffer = '';
if($ENV{CONTENT_LENGTH}) { read(STDIN,$buffer,$ENV{CONTENT_LENGTH}); }
print "Content-type: text/plain\n\n";
print 'Post data is (' . length($buffer) . " chars):\n";
if(! length($buffer)) { $buffer = '[No POST data received]'; }
print $buffer;
exit;
form.html
<form method="post" action="http://127.0.0.1/paramExtractor.cgi">
<table cellpadding="3">
<tr>
<td>Name:</td>
<td><input type="text" name="name" style="width:200px;"></td>
</tr><tr>
<td>Email:</td>
<td><input type="text" name="email" style="width:200px;"></td>
</tr><tr>
<td valign="top">Message:</td>
<td><textarea name="message" style="width:200px; height:75px;"></textarea></td>
</tr><tr>
<td> </td>
<td><input type="submit" style="width:200px;"></td>
</tr>
</table>
</form>
相關問題
- 1. cgi的Perl模塊
- 2. 閱讀的Perl CGI參數(輸入)
- 3. 使用Python作爲沒有CGI模塊的CGI腳本?
- 4. Perl CGI模塊的基本幫助
- 5. perl/sqlite cgi模板
- 6. cgi python中的Webbrowser模塊
- 7. 我可以使用Ocamlnet CGI讀取原始POST數據嗎?
- 8. 像CGI一樣運行perl腳本,如果沒有CGI
- 9. Perl CGI,Apache重寫規則和表單發佈數據
- 10. Perl的羊羣沒有從CGI工作
- 11. 閱讀CGI POST數據是最有效的方式
- 12. 模具不能從perl cgi
- 13. 在Perl CGI
- 14. 調試perl CGI
- 15. Perl + Apache + CGI
- 16. PERL CGI程序
- 17. perl cgi線程
- 18. 的WebSocket和Perl CGI
- 19. Perl的CGI問題
- 20. fileparse error while exec cgi script-perl cgi
- 21. Perl CGI :: Session使用CGI :: Session :: Driver :: mysql
- 22. 什麼是Perl中的CGI
- 23. 找不到RackMonkey :: CGI模塊
- 24. AJAX發佈到Python CGI
- 25. 將JSON發佈到Python CGI
- 26. fnServerParams使用數據表和Perl CGI
- 27. Perl CGI使用跨度風格數據
- 28. fork with CGI :: Fast perl
- 29. Cygwin Perl CGI與Xampp
- 30. 爲Perl CGI腳本
有沒有你不能只安裝一個特別的原因? (除了使用[不鼓勵](https://metacpan.org/pod/CGI#CGI.pm-HAS-BEEN-REMOVED-FROM-THE-PERL-CORE)贊成[更現代化的選擇] (https://metacpan.org/pod/CGI::Alternatives)。)在CGI協議中,簡單地從STDIN中讀取POST數據,但是從頭開始編寫自己的參數解析代碼似乎是一個壞主意。 – ThisSuitIsBlackNot
@ThisSuitIsBlack不能安裝任何東西,它是共享主機。我試圖從STDIN讀取數據,但它是空的。 – jcubic
@ThisSuitIsBlack畢竟STDIN沒有閱讀過。即使在共享主機上: – jcubic