标签: cgi

Content-Disposition文件名中的特殊字符

此线程是如何在HTTP中编码Content-Disposition标头的filename参数的副本 但是,由于很久以前就提出这个问题并且仍然没有令人满意的答案(在我看来),我想再问一次.

我开发了一个C++ CGI应用程序,它可以提供名称中包含特殊字符的文件,例如
" weird#€= {}; filename.txt "

似乎没有可能以适合每个浏览器的方式设置HTTP Content-Dispostion

  • IE浏览器
  • 火狐
  • 歌剧
  • 苹果浏览器

我会为每个浏览器提供不同的解决方案.
现在我走了多远:

Internet Explorer(添加双引号并替换#和;)

Content-Disposition: attachment; filename="weird %23 € = { } %3B filename.txt"
Run Code Online (Sandbox Code Playgroud)

Firefox(双引号似乎工作.没有更多事情要做):

Content-Disposition: attachment; filename="weird # € = { } ; filename.txt"
Run Code Online (Sandbox Code Playgroud)

另一种工作方式:

Content-Disposition: attachment; filename*=UTF-8''weird%20%23%20%e2%82%ac%20%3D%20%7B%20%7D%20%3B%20filename.txt
Run Code Online (Sandbox Code Playgroud)

当只使用双引号时会出现这些问题:

  • =文件名中的消失
  • €将被 - 取代 -

但这有效:

Content-Disposition: attachment; filename*=UTF-8''weird%20%23%20%e2%82%ac%20%3D%20%7B%20%7D%20%3B%20filename.txt
Run Code Online (Sandbox Code Playgroud)

歌剧

使用duoble引号或使用语法:filename*= UTF-8''...会产生以下问题:

  • 文件名中多个粘贴在一起的空格减少为一个
  • {和} disapear:" ab {} cd.txt " - >" abcd.txt "
  • 文件名被删除后; 在其中:" abc; def.txt " …

c++ browser cgi content-disposition http-headers

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

Python中Web编程的不同方法的优缺点

我想用Python做一些服务器端脚本.但是我有很多方法可以做到这一点.

它从自己动手的CGI方法开始,似乎以一些非常强大的框架结束,这些框架基本上可以完成所有工作.还有很多东西,比如web.py,PyroxideDjango.

  • 哪些优点缺点的框架或方法的你参与的
  • 有什么权衡取舍
  • 对于什么样的项目,他们做得好,不做什么?

编辑:我还没有太多的网络编程经验.
我想避免解析参数URL等基本和繁琐的事情.
另一方面,虽然使用Ruby on Rails 在15分钟内创建博客视频给我留下了深刻印象,但我意识到隐藏了数百个东西来自我 - 如果你需要立即编写一个有效的网络应用程序,这很酷,但对于真正了解魔术并不是那么好 - 这就是我现在所寻求的.

python frameworks cgi wsgi

25
推荐指数
4
解决办法
5083
查看次数

使用Apache部署Go Web应用程序

我找不到用于部署Go Web应用程序的mod_go.有没有其他方法可以在Go中使用Apache Web服务器(甚至是IIS)运行Web应用程序?

更新:现在做了近一年的全职工作; 这样做(Go with Apache)使Go的目的无效(高度并发的性能).我正在使用nginx作为http/https的反向代理,并且很好地支持我的Go后端.虽然在使用Go时你必须在webapps上改变一下你的心态.

apache deployment cgi go web-deployment

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

什么是HTTPD?

我的意思是"httpd"只是由Apache用于下载软件,还是被其他网站使用?还有必要让httpd运行"cgi"吗?为什么Apache使用httpd下载http服务器而不是将其存放在他们的http网站上的文件中?

apache cgi http

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

如何创建一个网页,其中的按钮可以在为网页提供服务的系统上调用各种Python脚本?

我是一个业余爱好者(而且相当新的)程序员,他在python中编写了几个有用的(对我来说)脚本来处理各种系统自动化任务,这些任务涉及在其他各种活动中复制,重命名和下载文件.

我想创建一个从我的系统中提供的网页,它只会提供一些按钮,这些按钮可以让我远程启动这些脚本.

问题是我不知道从哪里开始调查如何做到这一点.假设我有一个名为的脚本:

file_arranger.py

如何让网页执行该脚本需要做什么?这不是为了公共消费,所以任何轻量级都会很棒.对于奖励积分,我需要考虑为Web用户提供此类脚本的输出?

编辑:第一个答案让我意识到我忘了包含这是一个Win2k3系统.

python windows cgi web-services

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

在Python中获取HTTP GET参数

我正在尝试使用简单的Python脚本运行Icecast流,从服务器上的歌曲列表中选择一首随机歌曲.我想添加一个投票/请求界面,我的主机允许使用python通过CGI提供网页.但是,我对如何获取用户提供的GET参数感到困惑.我已经尝试过使用sys.argv的常用方法:

#!/usr/bin/python
import sys
print "Content-type: text/html\n\n"
print sys.argv
Run Code Online (Sandbox Code Playgroud)

但是,点击http://example.com/index.py?abc=123&xyz=987只会返回"['index.py']".是否有一些其他函数用于此目的,或者有什么我需要用CGI更改?我正在努力做甚么可能吗?

谢谢.

python cgi arguments get

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

Python 3.0 urllib.parse错误"类型str不支持缓冲区API"

  File "/usr/local/lib/python3.0/cgi.py", line 477, in __init__
    self.read_urlencoded()
  File "/usr/local/lib/python3.0/cgi.py", line 577, in read_urlencoded
    self.strict_parsing):
  File "/usr/local/lib/python3.0/urllib/parse.py", line 377, in parse_qsl
    pairs = [s2 for s1 in qs.split('&') for s2 in s1.split(';')]
TypeError: Type str doesn't support the buffer API
Run Code Online (Sandbox Code Playgroud)

任何人都可以指导我如何避免这种情况?我通过将数据输入到中来得到它cgi.Fieldstorage,我似乎无法以任何其他方式做到这一点.

python cgi urllib python-3.x

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

如何使用`python -m SimpleHTTPServer 8000`或`python -m CGIHTTPServer 8000`托管python cgi脚本?

当我运行python -m SimpleHTTPServer 8000python -m CGIHTTPServer 8000在我的shell中时,我将当前目录的内容托管到互联网上.

我想在浏览时使用命令行中的上述命令使以下cgi_script.py正常工作 192.xxx.x.xx:8000/cgi_script.py

#!/usr/bin/env python
print "Content-Type: text/html"
print
print """\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""
Run Code Online (Sandbox Code Playgroud)

但这个脚本按字面显示,而不仅仅是"Hello World!" 部分.顺便说一句,我将文件权限更改为755 cgi_script.py以及我托管它的文件夹.

python hosting cgi simplehttpserver

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

如何在Nginx上运行CGI脚本

我有问题设置CGI脚本在Nginx上运行,到目前为止我已经找到了http://wiki.nginx.org/SimpleCGI这个东西,但问题是我不能让perl脚本作为服务运行,所以它会在后台运行,即使重启,它也会自动开始运行

你有什么主意吗?我正在运行Centos 5

我在这里找到了一些解决方案,但我无法将这里给出的代码与这个Perl脚本集成 我在Perl完全没有,请帮助我谢谢

perl cgi centos nginx

22
推荐指数
5
解决办法
5万
查看次数

IIS 7.5 PHP失败"FastCGI进程意外退出"

我一直试图让PHP使用IIS 7.5并且遇到了一些障碍.每当我尝试加载页面时,我都会收到以下错误:

"HTTP错误500.0 - 内部服务器错误C:\ Program Files\PHP\php.exe - FastCGI进程意外退出"

模块FastCgiModule

通知ExecuteRequestHandler

处理程序PHP_via_FastCGI

错误代码0x00000000

请求的URL*http:// localhost:80/index.php

物理路径C:\ inetpub\wwwroot\index.php

登录方法匿名

登录用户匿名

请求跟踪失败日志目录C:\ inetpub\logs\FailedReqLogFiles

我根据需要修改了PHP.ini文件以用于IIS,并且还将其切换到详细模式.C:\ inetpub\logs\FailedReqLogs中没有任何日志文件,并且在生成的其他日志文件中没有与此错误相关的日志文件.

我已经尝试过我在这里和其他地方找到的其他修复程序但到目前为止没有任何成功.

这些是:重新检查PHP.ini设置fastCGI以在IIS中使用PHP(配置它以加载php.exe)尝试使用WinCache作为执行方法.

php cgi fastcgi iis-7.5

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