我有一个Perl CGI脚本,用于创建登录屏幕,即用户名和密码.
我想,在成功登录后,用户将被重定向到应用程序中的下一个操作(另一个Perl CGI脚本).
重定向一个CGI脚本或HTML页面的命令是什么?
我正在尝试在Windows 7上运行示例Perl脚本,并且我配置了IIS 7以允许ActivePerl运行但我收到此错误:
HTTP Error 502.2 - Bad Gateway The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are "Hello World. ". Module CgiModule Notification ExecuteRequestHandler Handler Perl Script (PL) Error Code 0x00000000 Requested URL http://localhost:80/hello.pl Physical Path C:\inetpub\wwwroot\hello.pl Logon Method Anonymous Logon User Anonymous
这是我的Perl脚本:
#!/usr/bin/perl
print "Hello World.\n";
Run Code Online (Sandbox Code Playgroud) 我编写了一个Perl程序,用于搜索和操作一个文本文件.此CGI进程将文件直接存入内存,根据用户的输入操作文件,然后生成HTML结果.
它功能明智.但是,我知道一旦我在高容量服务器上部署,它将无法在适当的时候做出响应.我怀疑记忆是一个瓶颈.共享该文件的最佳方式是什么,一旦服务器启动它就会被读入内存,而不会再次读取?
我猜的解决方案是一个服务器守护程序,它将文件加载到内存中并为其他进程/线程提供数据.如果是这样,实施IPC的最佳方法是什么?
我在CentOS Linux网络服务器上有一些Perl/CGI程序.我希望编写其他需要Perl模块的应用程序.
在同一个实时生产服务器上运行CPAN是否会以任何方式影响这些程序(目前不使用这些模块)?
我在一个名为的服务器上有一个JavaScript,kopernikus.science.net它想要访问另一个名为的服务器上的文件galileo.science.net.这是我想到的一个玩具示例:
code residing on http://kopernikus.science.net/makecalendar.js :
var request = new XMLHttpRequest();
request.open("GET","galileo.science.net/calendar", false);
request.send(null);
document.getElementById("calendar").innerHTML =
"<div>" + request.responseText.split('\n')[0] + "</div>";
Run Code Online (Sandbox Code Playgroud)
遗憾的是,由于现代Web浏览器的"相同原始策略",禁止脚本访问不同域上的数据.
当然,我的问题是:
我怎么能访问远程文件?
允许JavaScript之外的解决方案,例如镜像相关文件或调整
.htaccess.我有什么选择?哪个需要Web服务器上的最少权限?
有问题的文件是vcalendar格式的日历,它会定期更改.我在共享主机上,没有sysadmin权限,但我可以运行PHP和CGI脚本,并可以更改.htaccess文件的某些部分.
我的理解是创建CGI脚本已成为过去,并且由于每次调用它时它的方式都被认为是低效的.但是,当你调用嵌入了PHP脚本的网页时,我看不出有什么不同,它仍然以某种方式分支到另一个进程,那么为什么CGI被认为效率低下呢?
我正在开展一个项目,将图片和文本程序的50mb python Graduated interval召回评级系统转换为基于网站的应用程序.(然后围绕它设计一个网站)它需要连接到数据库以经常存储用户信息,因此它需要在服务器端运行正确吗?假设我什么都不知道,完成这个的最佳结构是什么?似乎有很多不同的选择,我感到迷茫.
我一直在使用CGI为原始的python代码创建一个Web UI.这甚至可以实现吗?
怎么样金字塔/ uWSGI/pylon/flask
还是Django?(虽然我被告知要避免这个项目)
登录Web服务器不是我的专业领域,我希望自动执行登录Web服务器的任务,但我不确定如何格式化代码以实现此目标.我查看了其他页面,但无论我做了什么,我都得到了相同的回复.
网页摘要:
<form name="form1" action="login.cgi" method="POST" onsubmit="encrypt();">
<input type="hidden" name="Token" value="16">
<tr height="15">
<td><img src="/images/spacer.gif" alt="" height="15"></td>
</tr>
<tr height="32">
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="19"><img src="/images/spacer.gif" alt="" width="19"></td>
<td width="100%"> </td>
</tr>
</table>
</td>
</tr>
<tr height="12">
<td><img src="/images/spacer.gif" alt="" height="12"></td>
</tr>
<tr>
<td height="1" valign="top">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"><img src="/images/spacer.gif" alt="" width="20"></td>
<td valign="top">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="/images/spacer.gif" alt="" width="10" height="8"></td>
<td><img src="/images/spacer.gif" alt="" width="400" height="8"></td>
</tr>
<tr> …Run Code Online (Sandbox Code Playgroud) 我正在处理一些Python代码,这是从Apache调用的CGI脚本。
代码要做的第一件事是(我相信)尝试使用以下命令关闭stdin / stdout / stderr:
for fd in [0, 1, 2]:
try:
os.close(fd)
except Exception:
pass
Run Code Online (Sandbox Code Playgroud)
通常,这可以正常工作,但是,如果它们没有打开,则会出现“ python.exe已停止工作”,“导致程序无法正常工作的问题”错误消息(Win32异常)。
几个问题:
我有以下cgi bin脚本:
#! /usr/bin/perl
#
use utf8;
use CGI;
my $q = CGI->new();
my %params = $q->Vars;
print $q->header('text/html');
$w = $params{"words"};
print "$w\n";
Run Code Online (Sandbox Code Playgroud)
我希望能够将其称为cgi-bin/script.pl?words =É例如,但是当我这样做时,打印的不是UTF-8,而是乱码:
É
Run Code Online (Sandbox Code Playgroud)
有没有办法在utf8上使用cgi-bin?