标签: cgi

如何为CGI脚本的模块设置Perl的包含路径?

我在我的主机上安装了几个Perl模块~/perl,如何将它们添加到Perl模块路径?设置PERL5LIBunshift路径@INC确定可行,但环境变量在作为CGI脚本运行时没有帮助,并且@INC方式不是很便携.有没有更好的办法?这必须是一个常见的问题,我错过了什么?

perl cgi module path

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

我应该从哪里开始使用python制作刮刀或机器人?

我在编程语言(python)中不是那么新,但我不知道我将在哪里开始使用python制作机器人或刮刀?我应该学习cgi编程吗?或者刮刀是否仅使用python脚本运行?我应该为此构建服务器吗?对此没有任何线索......感谢您的帮助

python cgi

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

确定Python脚本是在本地执行还是作为CGI执行

假设我有一个基本的Python脚本,test.py:

#!/usr/bin/python

print "Content-type: text/html\n\n"
print "<html>Hello world!</html>"
Run Code Online (Sandbox Code Playgroud)

如何确定脚本是否在本地执行,例如:

python test.py
Run Code Online (Sandbox Code Playgroud)

或通过网络浏览器调用,例如访问:

http://example.com/test.py
Run Code Online (Sandbox Code Playgroud)

这似乎没有cgi模块的文档中解决.我认为结果可能有所不同,cgi.FieldStorage()但似乎没有.

我能想到的唯一方法是:

#!/usr/bin/python
import os

print "Content-type: text/html\n\n"
print "<html>Hello world!</html>"

if 'REQUEST_METHOD' in os.environ :
    print "This is a webpage"
else :
    print "This is not a webpage"
Run Code Online (Sandbox Code Playgroud)

这是最好和/或最理想的方法吗?为什么/为什么不呢?

python cgi

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

WrappedNative原型对象的非法操作

如果这个答案看起来与本网站的其他问题相似,我很抱歉,但我找不到我需要的东西.

我有这个代码:

    $.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?

谢谢

xml ajax jquery cgi

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

多线程FastCGI应用程序

我想编写一个FastCGI应用程序,它应该使用线程处理多个同时请求.我看一下SDK附带的threaded.c示例:

#define THREAD_COUNT 20
static int counts[THREAD_COUNT];

static void *doit(void *a)
{
    int rc, i, thread_id = (int)a;
    pid_t pid = getpid();
    FCGX_Request request;
    char *server_name;

    FCGX_InitRequest(&request, 0, 0);

    for (;;)
    {
        static pthread_mutex_t accept_mutex = PTHREAD_MUTEX_INITIALIZER;
        static pthread_mutex_t counts_mutex = PTHREAD_MUTEX_INITIALIZER;

        /* Some platforms require accept() serialization, some don't.. */
        pthread_mutex_lock(&accept_mutex);
        rc = FCGX_Accept_r(&request);
        pthread_mutex_unlock(&accept_mutex);

        if (rc < 0)
            break;

        server_name = FCGX_GetParam("SERVER_NAME", request.envp);

        FCGX_FPrintF(request.out,…
        …     

        FCGX_Finish_r(&request);
    }

    return NULL;
}

int main(void)
{
    int i;
    pthread_t …
Run Code Online (Sandbox Code Playgroud)

multithreading cgi fastcgi

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

如何使用Rebol 3编写"Hello,World"CGI?

让我们从一些简单的东西开始:一个带有一个可以回显的字段的表单.

cgi rebol rebol3

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

将python脚本作为cgi apache服务器运行

我正在尝试使用Apache服务器将python脚本作为cgi运行.我的脚本看起来像这样:

  #!/usr/bin/python
  import cgi
  if __name__ == "__main__":

  print("Content-type: text/html")
  print("<HTML>")
  print("<HEAD>")
Run Code Online (Sandbox Code Playgroud)

我在httpd.conf中完成了必要的配置(在我看来):

  <Directory "/opt/lampp/htdocs/xampp/python">
  Options +ExecCGI
  AddHandler cgi-script .cgi .py
  Order allow,deny
  Allow from all
  </Directory>
Run Code Online (Sandbox Code Playgroud)

我用chmod设置了脚本的执行权限

但是,当我尝试通过localhost访问脚本时,我得到一个错误500:在标题之前输出脚本结束:script.py可能是什么问题?该脚本是在类似Unix的环境中创建的,所以我认为clrf vs lf的问题不成立.非常感谢.

python apache cgi

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

在共享主机上安装composer

我是第一次尝试在我的共享主机上安装composer.

当我运行时,curl -sS https://getcomposer.org/installer | php 我正在成功安装Composer
用户:php composer.phar

当我跑步时,我php composer.phar得到这个交战错误:

警告:应该通过PHP的CLI版本调用Composer,而不是cgi-fcgi SAPI

有想法该怎么解决这个吗 ?为什么我收到这个错误?:(

当我跑步时,php -v我得到了回来

PHP 5.4.39 (cgi-fcgi) (built: Mar 25 2015 14:20:20)  
Copyright (c) 1997-2014 The PHP Group  
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies  
    with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)

我是否需要使用CLI版本运行此操作,如果是这样,我该怎么做?

任何帮助都会很好,谢谢.

php cgi composer-php

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

cgi.parse_multipart函数在Python 3中抛出TypeError

我正在尝试从Udacity的Full Stack Foundations课程中进行练习.我do_POST在我的子类中有方法BaseHTTPRequestHandler,基本上我想获得一个名为messagesubmit with multipart form 的post值,这是方法的代码:

def do_POST(self):
    try:
        if self.path.endswith("/Hello"):
            self.send_response(200)
            self.send_header('Content-type', 'text/html')
            self.end_headers
            ctype, pdict = cgi.parse_header(self.headers['content-type'])
            if ctype == 'multipart/form-data':
                fields = cgi.parse_multipart(self.rfile, pdict)
                messagecontent = fields.get('message')
            output = ""
            output += "<html><body>"
            output += "<h2>Ok, how about this?</h2>"
            output += "<h1>{}</h1>".format(messagecontent)
            output += "<form method='POST' enctype='multipart/form-data' action='/Hello'>"
            output += "<h2>What would you like to say?</h2>"
            output += "<input name='message' type='text'/><br/><input type='submit' value='Submit'/>"
            output += "</form></body></html>"
            self.wfile.write(output.encode('utf-8'))
            print(output)
            return
    except: …
Run Code Online (Sandbox Code Playgroud)

forms cgi python-3.x

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

在web.config IIS中的PHP(或其他)CGI配置

我最近使用Wix工具集开发了一个Web应用程序的安装程序(是的,带有安装程序的Web应用程序).

该向导将指导用户获取站点安装所需的所有基本信息,如下所示:

在此输入图像描述

在安装结束时使用自定义操作,我使用文档动态配置IIS处理CGI ,将FastCGI配置为托管PHP,Python,应用程序.有很多步骤和开发来实现这个结果,但问题在于:

我安装了应用程序,一切正常,但是,如果我卸载或安装另一个实例或其他WebApplication,IIS配置的处理程序就像全局一样,并始终指向第一个安装.(卸载应用程序时出现问题)位于C:\ Windows\System32\inetsrv\config中的applicationHost.config是IIS的配置,其"config"类似于global.

<handlers accessPolicy="Read, Script">
            <add name="PHP-FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\CIM_dev\bin\php-v5.6\php-cgi.exe" resourceType="Either" />
            <add name="CGI-exe_2" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
            <add name="TRACEVerbHandler2" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
            <add name="OPTIONSVerbHandler2" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
            <add name="StaticFile2" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
        </handlers>
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有办法为web.config中的每个网站进行此配置?我一直在努力尝试所有的东西而没有成功.

php iis cgi fastcgi wix

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

标签 统计

cgi ×10

python ×3

fastcgi ×2

php ×2

ajax ×1

apache ×1

composer-php ×1

forms ×1

iis ×1

jquery ×1

module ×1

multithreading ×1

path ×1

perl ×1

python-3.x ×1

rebol ×1

rebol3 ×1

wix ×1

xml ×1