标签: cgi-bin

在Windows上的Apache中将CGI参数传递给可执行文件

我的印象是,可以将任何旧的可执行程序放在cgi-binApache目录中,并将其用作CGI脚本。具体来说,如果我有C#程序

static class TestProg
{
    static void Main(string[] args)
    {
        Console.Write("Content-type: text/plain\r\n\r\n");
        Console.WriteLine("Arguments:");
        foreach (string arg in args)
            Console.WriteLine(arg);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后转到,http://example.com/cgi-bin/TestProg?hello=kitty&goodbye=world然后将查询字符串hello=kitty&goodbye=world作为第一个参数传递给main,因此我的页面应如下所示

Arguments:
hello=kitty&goodbye=world
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的查询参数都没有传递。页面加载并且仅打印而后Arguments:没有任何内容。

那么如何将查询参数传递给该程序?

apache executable cgi-bin query-parameters

2
推荐指数
1
解决办法
4635
查看次数

将数据从 HTML 表单传递到 Perl 脚本的步骤

我创建了一个简单的 HTML,其中包含以下表单:

<form action="WEB-INF/cgi/run.pl" method="post">
      <table border="0" cellspacing="0"> 

      <tbody>
      <tr><th align="center" bgcolor="F7F5F2"> <p class="normal">Submission Form</p> </th></tr>

      <tr><td align="center" bgcolor="F7F5F2"> <p class="normal">Insert your text below:</p> </td></tr>
      <tr><td><textarea wrap="virtual" name="seq_data" rows="15" cols="80"></textarea></td></tr>  
    </tbody></table>
    or upload a file :   <input type="file" name="file" size="29" border="0"><br><br>
    <input class="normalc" value="Submit Query" type="submit">
    <input class="normalc" value="Clear Form" type="reset"><p></p>
</form>
Run Code Online (Sandbox Code Playgroud)

我需要将表单中的数据作为输入传递给 perl 脚本 (run.pl)。

在搜索互联网时,我读到:1)我需要通过 apache tomcat 测试我的网站。我已经安装了 apache 7.0 版,并通过删除此 servlet 周围的 XML 注释来修改 Tomcat 7.0/conf/web.xml 文件:

<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value> …
Run Code Online (Sandbox Code Playgroud)

html apache perl cgi cgi-bin

2
推荐指数
1
解决办法
1万
查看次数

为什么cgi脚本必须保留在cgi-bin文件夹中?

为什么cgi脚本必须保留在cgi-bin文件夹中?

与public_html文件夹和cgi-bin文件夹中的插入python脚本(或php脚本或任何其他脚本)有什么区别?

我不明白: -

apache webserver cgi cgi-bin

1
推荐指数
1
解决办法
416
查看次数

CGI-PHP错误和重定向问题Wordpress MU

我在http://www.optimalthinking.com/community/wp-admin/install.php上安装了wordpress Mu

但是当我访问http://www.optimalthinking.com/community/时

我懂了

安全警报!无法直接访问PHP CGI。

此PHP CGI二进制文件是在启用force-cgi-redirect的情况下编译的。这意味着仅在设置了REDIRECT_STATUS CGI变量(例如,通过Apache Action指令)的情况下,才能提供页面。

有关为什么存在此行为的更多信息,请参见CGI安全手册页。

有关更改此行为或重新启用此Web服务器的更多信息,请查阅此发行版随附的安装文件,或访问手册页。

谁能告诉我问题出在哪里以及如何解决。

到目前为止我尝试过的事情:

  1. 重新安装WPMU
  2. http://mu.wordpress.org/forums/topic/5529
  3. http://trac.mu.wordpress.org/ticket/502
  4. 尝试更改.htaccess

所有这些事情没有产生任何结果。如果stackoverflow允许我,我将奖励任何会解决此问题的人。

谢谢

php apache wordpress cgi-bin

0
推荐指数
1
解决办法
5080
查看次数

java.lang.IllegalStateException:提交响应后无法创建会话

我收到了一个对无效 URL 的非常奇怪的请求:

Invalid URL: /cgi-bin/1st.cgi
Run Code Online (Sandbox Code Playgroud)

这导致以下错误:

 SEVERE: Exception initializing page context
java.lang.IllegalStateException: Cannot create a session after the response has been committed
        at org.apache.catalina.connector.Request.doGetSession(Request.java:2381)
        at org.apache.catalina.connector.Request.getSession(Request.java:2098)
        at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833)
        at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:216)
        at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
...
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

session state exception response cgi-bin

0
推荐指数
1
解决办法
3万
查看次数

Mac OS X上的DBD :: Pg - 找不到任何方法

我从命令行执行.cgi(作为有权访问数据库的用户)

install_driver(Pg)失败:无法在@INC中找到DBD/Pg.pm(@INC包含:/ Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12/Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 /Library/Perl/Updates/5.12.4 /System/Library/Perl/5.12/darwin-thread-multi-2level/System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-2level /System/Library/Perl/Extras/5.12.)at(eval 4)3行.也许DBD :: Pg perl模块还没有已完全安装,或者'Pg'的大写不正确.

cpan -D DBD :: Pg显示

DBD :: PG

用于DBI的Postgres驱动程序T/TU/TURNSTEP/DBD-Pg-2.19.2.tar.gz /opt/local/lib/perl5/site_perl/5.12.4/darwin-thread-multi-2level/DBD/Pg.pm已安装:2.19.2 CPAN:2.19.2最新DBD :: Pg开发人员(DBDPG)dbd-pg@perl.org

尝试通过PERL5LIB或PERLLIB导出上述路径没有不同的结果.

.cgi引用/ usr/bin/perl,它告诉我们

这是为darwin-thread-multi-2level构建的perl 5,版本12,subversion 4(v5.12.4)(有2个已注册的补丁,有关详细信息,请参阅perl -V)

我喜欢永久地将模块路径设置为安装DBD :: Pg的路径(/ opt/...).我想知道为什么错误输出目录列表没有提到.

我通过cpanm安装了DBD :: Pg.

我使用的是Mac OS X Mountain Lion.

macos perl cgi-bin dbd-pg

0
推荐指数
1
解决办法
2593
查看次数

无法运行这个简单的Perl CGI程序

有人可以向我解释让perl在服务器上工作的基本知识.我需要服务器上的模块吗?如果是这样的话呢?我如何命名我的文件以及它们去了哪里?

根据我的理解,你需要一个模块,它进入cgi-bin.我无法得到一个明确的答案,我是否命名文件.pl或.cgi,当我把它放在cgi-bin中时,我收到服务器错误.我也将我的权限设置为777,所以这不应该是问题.

请帮忙!我只想了解如何使基本程序正常工作,如下所示.提前致谢!

    #!/usr/bin/perl
    require("cgi-lib.pl");
    print &PrintHeader;

    print "<html>";
    print "<head><title>Hello world!</title></head>";
    print "<body>";
    print "<p>Hello world!</p>";
    print "</body>";
    print "</html>";
Run Code Online (Sandbox Code Playgroud)

perl cgi cgi-bin

0
推荐指数
1
解决办法
2121
查看次数

perl-cgi程序中的500内部服务器错误

我收到错误"内部服务器错误.服务器遇到内部错误或配置错误,无法完成您的请求."

我在html中提交表单并获取其值.

HTML代码(index.cgi)

#!c:/perl/bin/perl.exe
print "Content-type: text/html; charset=iso-8859-1\n\n";
print "<html>";
print "<body>";
print "<form name = 'login' method = 'get' action = '/cgi-bin/login.pl'> <input type = 'text' name = 'uid'><br /><input type = 'text' name = 'pass'><br /><input type = 'submit'>";
print "</body>";
print "</html>";
Run Code Online (Sandbox Code Playgroud)

用于获取数据的Perl代码(login.pl)

#!c:/perl/bin/perl.exe
use CGI::Carp qw(fatalsToBrowser);
my(%frmfields);
getdata(\%frmfields);
sub getdata {
    my ($buffer) = "";
    if (($ENV{'REQUEST_METHOD'} eq 'GET')) {
        my (%hashref) = shift;
        $buffer = $ENV{'QUERY_STRING'};
        foreach  (split(/&/,$buffer)) {
            my ($key, $value) = split(/=/, $_); …
Run Code Online (Sandbox Code Playgroud)

forms perl cgi cgi-bin internal-server-error

0
推荐指数
1
解决办法
2060
查看次数

为什么我们不能使用python服务器运行perl cgi-scripts,即simpleHTTPServer?

为什么我们需要apache web服务器来运行cgi脚本?可以使用python simpleHTTPServer完成

python perl cgi-bin

0
推荐指数
1
解决办法
330
查看次数

CGI脚本无法创建目录

我有一个从URL访问的perl CGI脚本。我已经使用检查过语法perl -wc,似乎还可以。但是,用于创建目录的命令均未正确执行。权限设置为755

有谁知道如何诊断这个问题?

这是代码:

#!/usr/bin/perl

use CGI;
#-- create CGI Query
$q = CGI->new;
$prefix = "X__";

print "Content-type: text/html\n\n";

#-- get companyID
$entityID = $q->param('entityID');

#-- get directory name
$dir = "${prefix}${entityID}";

#-- change directory
chdir("/var/www/html/web/customers");

#-- create parent company directory
`sudo mkdir -m 755 $dir`;
print "${entityID}";
Run Code Online (Sandbox Code Playgroud)

unix perl cgi cgi-bin

-4
推荐指数
1
解决办法
334
查看次数