有这个演示CGI脚本(cgi_script.pl)
use 5.014;
use warnings;
use CGI;
my $q = CGI->new();
say $q->h1( join '-', $q->multi_param('p') );
say CGI::h1('some other');
将其运行为perl cgi_script.pl p=1 p=2打印
<h1>1-2</h1>
<h1>some other</h1>
我想要创建My::CGI,它应该像CGI那样做
错误只发生在网络中。如果我在控制台上运行它,它是可以的,我在ubuntu工作。
我使用CGI为handle安装了apache2,并试图在代码中显示python版本,并且可以证明web和控制台都运行在相同的python版本和用户上。
但是只要导入lxml.etree,我就得到了下面的错误。
Traceback (most recent call last):
File "/usr/lib/cgi-bin/TestPy.py", line 3, in <module>
import lxml.etree as ET
ImportError: No modul
这是主文件upload.cgi
#!/usr/bin/perl
use strict;
use lib '.';
use XFSConfig;
use XUpload ;
use CGI::Carp qw(fatalsToBrowser);
use CGI;
use Fcntl ':flock';
use LWP::UserAgent;
use HTTP::Cookies;
use HTML::Form;
use Encode;
sub xmessage
{
my ($msg) = @_;
&lmsg
我使用URLConnection的Java调用一个URL
http://192.168.2.107/cgi-bin/mediaFileFind.cgi?action=findFile&object=27891384&condition.Channel=0&conditon.Dir[0]="/mnt/sd"&condition.StartTime=2014-8-1 00:00:00&condition.EndTime=2014-8-31 23:59:59
但是当我用线鲨捕获HTTP传输时。线鲨捕获以下URL
Full request URI
Apache2.2在RedHat 6.3上。我有一个虚拟主机,设置如下:
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin some@email.com
DocumentRoot /home/xxxxx/Sites/xxxxxxx.com/htdocs
ServerName xxxxxxx.com
ServerAlias xxxxxxxx.com
SuexecUserGroup xxxx xxxx
suPHP_UserGroup xxxx xxxx
## a cache hit will log -, while a cache mi
我有一个perl脚本,它接受命令行参数(文件名),它应该读取输入流来写入使用参数创建的文件。
问题是,write (<>)语句尝试打开文件,而不是等待用户输入写入文件。我不能使用<STDIN>,因为我需要从我的Java程序调用这个脚本
#!/usr/bin/perl
use strict;
use CGI;
use CGI::Carp qw ( fatalsToBrowser );
use warnings;
#store the input parameter File_Name
my $cfgFileName;
my $q = CGI->new();
$c
这台Python3 CGI服务器在几周(或几个月前)以前曾工作过,但现在不再在Linux (Ubuntu)下工作了。我尝试了Ubuntu10.04和Ubuntu14.04,其行为是一样的。
现在,当我尝试访问我要获得的任何CGI脚本时:
Secure Connection Failed
An error occurred during a connection to 127.0.0.1:4443. SSL received a record that exceeded the maximum permissible length. (Error code: ssl_error_rx_reco
在脚本中,我初始化了几个处理程序并设置了变量,这些变量应该可用于不同模块中的函数。在模块中使用它们($q、$dbh、%conf)的最佳方式是什么?
示例伪模块:
package My::Module
sub SomeFunction (
@data = $dbh->selectrow_array("SELECT * FROM Foo WHERE Bar = ?", undef, $conf{Bar} );
return $q->p( "@data" );
)
1;
伪脚本示例:
use CGI;
use DBI;
use My::M