我试图从.NET程序调用php-cgi.exe.我使用RedirectStandardOutput将输出作为流返回,但整个过程非常慢.
你对我如何能加快速度有任何想法吗?还有其他技术吗?
Dim oCGI As ProcessStartInfo = New ProcessStartInfo()
oCGI.WorkingDirectory = "C:\Program Files\Application\php"
oCGI.FileName = "php-cgi.exe"
oCGI.RedirectStandardOutput = True
oCGI.RedirectStandardInput = True
oCGI.UseShellExecute = False
oCGI.CreateNoWindow = True
Dim oProcess As Process = New Process()
oProcess.StartInfo = oCGI
oProcess.Start()
oProcess.StandardOutput.ReadToEnd()
Run Code Online (Sandbox Code Playgroud) 我一直在环顾四周,遇到了WT工具包,它稳定吗?好不好?考虑到缺乏有关Web开发的库和资源,我对如何在C++中解决这个问题感到难过.(CGI /阿帕奇)
我的应用程序的目的是从运行GNU/Linux和Apache的Sybase ASE15数据库填充一些数据因此允许一些用户交互.
我将使用Sybase开放客户端库(libct)从服务器检索列,将此数据反馈给wt model/view.
我的要求:
有没有更实用的解决方案,而不是使用其他脚本语言?我的意思是实用,ODBC检索接口和MVC机制?
如果在C++中不可用,Java中的任何替代方案?
我有一个Perl脚本,它将从命令行和CGI运行.在Perl脚本中,我该如何判断它的运行方式?
我想编写一个应用程序来管理数百台远程PC上的文件,目录和进程.这些机器上运行有测量程序,目前使用TightVNC/RealVNC手动管理.由于机器数量很大(并且增加),因此需要自动管理.计划是我们的运营商将获得一个可编写脚本的客户端应用程序,他们可以从中向每个远程PC上运行的服务器应用程序发送查询和命令.
对于通信,我想使用基于TCP的自定义协议,但它在行政上很复杂,并且在每个防火墙中打开针孔需要很长时间.幸运的是,有一个程序在每个远程PC上运行内置的基于TinyWeb的自定义Web服务器,并且在每个防火墙中都打开了端口80.这些Web服务器通过启动CGI程序来处理来自中央服务器的请求,该程序加载并发回测量程序的部分日志文件.
所以计划是编写一个CGI程序,并通过HTTP(使用GET和POST)从客户端与它进行通信.虽然(大多数)远程PC都在公司内部网中,但它们遍布全国各地,我希望确保通信安全.以纯文本形式发送操作文件和进程的命令是不明智的.不幸的是,无法触及包含Web服务器的程序,因此我不能简单地为HTTPS准备它.我只能在客户端和CGI程序中实现安全层.我该怎么办?
我已经在SO中阅读了所有类似的问题,但我仍然不确定在这种特定情况下该怎么做.谢谢您的帮助.
我用烧瓶网框架为我的体育俱乐部写了一个网络应用程序.我使用内置测试服务器在本地计算机上完成了所有操作.
知道他们告诉我将其部署在1&1共享主机网络空间上.他们有python支持,但似乎他们只允许CGI运行python脚本.
我试过这个教程:通过CGI烧瓶
直到现在我都忽略了重写的东西.对我的CGI脚本的所有请求都导致404错误.我在应用程序中修改了我的404处理程序以返回request.path.当我请求/foo/runserver.cgi/时,它返回/作为输出.我不知道它为什么不提供索引视图.它不适用于任何视图,我总是得到404.
亲切的问候,塞巴斯蒂安
当我尝试将数据发布到我的CGI文件时,我的CGI文件说实际的帖子数据无效.我使用前端的HTML/JavaScript和后端的Python.
作品:
<form name="login" action="/cgi-bin/register.py" method="POST">
Username:<input type="text" name="username"><br>
Password:<input type="password" name="password"><br>
Confirm password:<input type="password" name="confirmpassword"><br>
</form>
Run Code Online (Sandbox Code Playgroud)
但是,这会导致页面刷新.我试图避免这种情况,并在同一页面中显示文本(不重新加载).因此,我选择使用XMLHTTPRequest来异步处理此事件.
这就是我想要实现的目标:
<script>
function validateLogin()
{
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if (username.length <= 0 || password.length <= 0)
{
document.alert("The username or password cannot be blank");
return;
}
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{ …Run Code Online (Sandbox Code Playgroud) 我正在使用 SimpleHTTPServer 的 do_POST 方法来接收文件。如果我使用 curl 上传 png 文件,脚本工作正常,但是每当我使用 python 请求库上传文件时,文件上传但会损坏。这是 SimpleHTTPServer 代码
#!/usr/bin/env python
# Simple HTTP Server With Upload.
import os
import posixpath
import BaseHTTPServer
import urllib
import cgi
import shutil
import mimetypes
import re
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
# Simple HTTP request handler with POST commands.
def do_POST(self):
"""Serve a POST request."""
r, info = self.deal_post_data()
print r, info, "by: ", self.client_address
f = StringIO()
if r:
f.write("<strong>Success:</strong>") …Run Code Online (Sandbox Code Playgroud) 我有一个我写的脚本,可以在命令行上使用,也可以作为CGI脚本使用,需要确定脚本的调用方式,这样我就可以为web请求输出内容类型的头文件(也许还有一些反缓存标题也是).我的第一个想法是检查http环境变量是否存在:
my $js = build_javascript();
if ( exists $ENV{HTTP_HOST} ) {
print "Content-type: text/javascript\n\n";
}
print $js;
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我在编程语言(python)中不是那么新,但我不知道我将在哪里开始使用python制作机器人或刮刀?我应该学习cgi编程吗?或者刮刀是否仅使用python脚本运行?我应该为此构建服务器吗?对此没有任何线索......感谢您的帮助
如果这个答案看起来与本网站的其他问题相似,我很抱歉,但我找不到我需要的东西.
我有这个代码:
$.ajax({
url: '../../cgi-bin/executeQuery',
type: 'GET',
data: ({siid:5185,of:"xmlWithColID"}),
dataType: 'xml',
success: function(xmlR){
try{
$.ajax({
url: '../../cgi-bin/authList.py',
type: 'GET',
data: ({xmlToFormat:xmlR,service:"paperList"}),
dataType: 'xml',
success: function(data){
try{
displayResult(data,loadXMLDoc("js/authList/paperTableStyle.xsl"),"divPaperTable");
}catch(e){
console.log(e.message);
}
},
complete: function(XMLHttpRequest, textStatus){
$('#divMakingAuthorList').addClass('secondary');
$('#divMakingAuthorList').hide();
}
});
}catch(e){
console.log(e.message);
}
}
});
Run Code Online (Sandbox Code Playgroud)
这给了我FF中的以下错误:"对WrappedNative原型对象的非法操作".
当我删除代码的"成功"部分时,错误消息仍然存在.之后,我删除了"完整"的parte,错误信息也在那里.但是,当我删除以下代码行时:data:({xmlToFormat:xmlR,service:"paperList"}),消息消失了.
但我不明白原因.是否可以将"xml"作为ajax事件中的数据发送到我的CGI?
谢谢