标签: cgi

使用POST在网页中包含动态图像?

我编写了一个CGI脚本,使用GET数据动态创建图像.要在我的网页中包含此图片,我使用以下代码:

<img src="image.py?text=xxxxxxxxxxxxxx">
Run Code Online (Sandbox Code Playgroud)

问题是我希望将来"text"字段会变得很长,而且URL会变得太大.从谷歌搜索周围似乎没有固定的URL长度限制(即取决于浏览器,服务器,代理等)有没有更好的方法来做到这一点?

如果它很重要,我正在使用Django和Python,我不能使用任何客户端脚本(即JavaScript).

干杯,本

html python django cgi image

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

Python cgi性能

我拥有一个编写为CGI的遗留python应用程序.到目前为止,这可以正常工作,但并发用户的数量将在不久的将来大幅增加.在这里,我读到:"CGI非常适合低流量网站,但它有其他任何性能问题".我知道以另一种方式开始会更好,但CGI就是现在的样子.

有人能指出我如何保持CGI表现的方向,而不必重写所有代码?

python performance cgi

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

如何编写支持CGI,FastCGI和mod_perl的Perl Web应用程序?

如何在Perl中编写Web应用程序,以便它可以作为普通的CGI脚本,FastCGI/FCGI脚本和mod_perl/ mod_perl2(最好只使用核心Perl模块和来自libwww-Perl的模块),并最大限度地减少Perl CPAN模块的数量必须安装)?我想尽量减少将脚本从使用CGI更改为使用FastCGI或mod_perl的脚本所需做的更改.

进一步的约束:如果可能的话,我想在单个文件中记录Web应用程序,而不是像目前那样将它拆分为模块.

有问题的网络应用程序是gitweb,Git web界面,如果重要的话.

perl cgi fastcgi web-applications mod-perl

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

当表单发布到我的脚本时,如何访问URL中传递的参数?

在向我们的网站perl脚本提交表单时,我遇到了mod_rewrite的问题.如果有人在带有url的页面上执行GET请求http://www.example.com/us/florida/page-title,我会使用以下重写规则重写该命令,该规则可正常工作:

RewriteRule ^us/(.*)/(.*)$ /cgi-bin/script.pl?action=Display&state=$1&page=$2 [NC,L,QSA]

现在,如果该页面上有一个表单,我想对同一个URL进行表单发布,并让Mod Rewrite使用相同的重写规则来调用相同的脚本并调用相同的操作.但是,正在发生的是重写规则被触发,正在调用正确的脚本并且正在发布所有表单POST变量,但是,重写的参数(此示例中的操作,状态和页面)未被传递给Perl脚本.我正在使用相同的Perl代码访问这些变量以获取GET和POST请求:

use CGI;
$query = new CGI;
$action = $query->param('action');
$state = $query->param('state');
$page = $query->param('page');
Run Code Online (Sandbox Code Playgroud)

我包括了QSA标志,因为我认为可以解决问题,但事实并非如此.如果我直接对脚本URL进行POST,那么一切正常.我很感激任何帮助,找出为什么目前没有这个工作.提前致谢!

parameters perl post cgi get

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

在Python CGI中打印HTML

我一直在教自己python和cgi脚本,我知道你的基本脚本看起来像

#!/usr/local/bin/python
import cgi
print "Content-type: text/html"
print 
print "<HTML>"
print  "<BODY>"
print "HELLO WORLD!"
print "</BODY>"
print "</HTML>"
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我有一个大的HTML文件,我想在python中显示(它有代码行和代码行,并且里面有JS)我是否必须在每行前面手动添加'print'并将其转换为"等?或者是否有可以为我转换它的方法或脚本?

谢谢!

html python printing cgi

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

如何强制FastCGI将表单数据编码为UTF-8,因为CGI.pm有选项?

试图在FastCGI下运行旧的CGI脚本.没有额外参数的打印可提供正确的输print $q->div( $q->param("text") )

但是当使用CGI方法的额外参数哈希打印出来时print $q->div( {-id=>"id"}, $q->param("text") ),它会破坏UTF-8形成的数据('õäöüžš' - >'ÃμÃÃÃÃÃÃÃüüžš

它只发生在CGI参数中,在脚本定义的变量中工作正常(例3和4).在普通的CGI(带有"-utf8"-flag)下,一切都很完美.

被称为FastCGI的示例脚本test.fcgi?text=õäöüžš应该给出四个相等的块:

#!/usr/bin/perl -w --

use strict;
use CGI::Fast qw(:all);
use locale;
use utf8;

BEGIN {
        binmode(STDIN);                       # Form data
        binmode(STDOUT, ':encoding(UTF-8)');  # HTML
        binmode(STDERR, ':encoding(UTF-8)');  # Error messages
}

my ($q) = ();
my $test = "õäöüžš";

while ($q = new CGI::Fast) {

        print $q->header(-type=>"text/html", -charset=>"utf-8"), 
                $q->start_html(-encoding=>"utf-8");

        print "1: ",
                $q->div(  $q->param('text') ),
                "<br />",
                "2: ",
                $q->div( {-id=>"id"},  $q->param('text') ),
                "<br />", …
Run Code Online (Sandbox Code Playgroud)

perl cgi fastcgi utf-8

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

Perl缓冲输出

我正在改变现有解决方案中的一些Perl脚本.由于升级(Windows)服务器时发生了一些变化,我将它们从运行ISAPI切换到CGI.这意味着我现在必须手动发送Content-Type,否则它将失败.

所以我需要启用输出缓冲(print语句,所以STDOUT),发送Content-Type:text/html,但是在它是重定向的情况下我需要清除输出缓冲区并发送新的标题.

我怎么做?

或者还有另一种方式吗?请注意,该脚本已print用于输出HTML,我无法更改.(它写于90年代初期.)

select(STDOUT);
$| = 0;
print "Content-Type: text/html\n\n";
# somehow clear output
print "Location: login.pl\n\n";
Run Code Online (Sandbox Code Playgroud)

perl cgi

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

PHP的Http身份验证无法正常工作

我有Plesk服务器,其中PHP作为CGI运行.

    if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text to send if user hits Cancel button';
    exit;
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
Run Code Online (Sandbox Code Playgroud)

上面的脚本应该提示用户名和密码.(是的)输入任何用户/通行证后,应打印出来.(不,它总是要求用户/通行证)

怎么解决?

php authentication cgi http

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

删除文件夹中的所有*.jpg

如何删除临时文件夹中只有.jpg扩展名的文件.

这是我试过的;

unlink("../httpdocs/Temp/*.jpg);
Run Code Online (Sandbox Code Playgroud)

perl cgi cgi-bin

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

如何检查IP地址是否在perl的特定范围内?

我正在用perl编写一个CGI脚本.如何检查IP地址(例如124.21.23.5)是否在100.0.0.0 - 200.79.255.255范围内?

我获取IP地址的方式是:

    my $ip = $ENV{'REMOTE_ADDR'};
Run Code Online (Sandbox Code Playgroud)

ip perl cgi ip-address

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