在.NET中有效地重定向标准输出
我试图从.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() o
10 2024-04-11
编程技术问答社区
在CGI C中处理由html表单发送的POST数据
所以,正如我几天前所说的那样,我正在尝试使用Apache服务器上的CGI-C进行登录脚本. 我的表单使用POST方法提交了两个变量. 这是我到目前为止的代码: #include #include int main(void) { char *lengthy; int figures; char somelimit[512]; lengthy = getenv("CONTENT_LENGTH"); figures = atoi(lengthy); fgets(somelimit, figures, stdin); printf("Content-type: text/html\n\n"); printf("%s\n", somelimit); return 0; } q.如何从stdin中提取用户名和密码值?我在上述情况下获得的正常返回是"用户名= xyz&password = xyz12"我该如何处理? Q.我想限制
14 2024-04-10
编程技术问答社区
打开CGI c文件
我在c中创建了一个CGI文件.我有一个HTML文件,用户可以在其中选择他/她要上传的文件. 问题是,当我选择文件时,文件的值只是文件的名称,而不是目录,因此我无法读取文件. 我应该如何访问文件? Title: Author: File:
10 2024-04-10
编程技术问答社区
将C++ CGI脚本作为后台进程运行?
我正在研究使用libmp3lame的音频编码器CGI脚本. 我正在用C/C ++的混合物写作. 我计划拥有一个可以在背景中运行的多个编码过程的入口点CGI.我需要编码过程是异步的,因为编码可能需要几个小时,但是我需要入口点CGI即时返回,以便浏览器可以继续进行其业务. 我已经找到了一些解决方案(有些完整/有些),但是我仍然想清除一些东西. 解决方案1(最简单):入口点CGI是一个bash脚本,然后通过将输出发送到/dev/dev/null/2/&> 1&(sighles!但不是很好),可以在后台运行C ++进程CGI.优雅). 解决方案2:非常喜欢解决方案1,除了入口点CGI在C ++中,并使用System()运行PROC/S并将输出发送到/dev/null/2/&> 1&又一次. [问题]这效果很好,但是我不确定共享托管公司是否允许使用System()函数.是这样吗? 解决方案3(不完整):我考虑使用fork()/pthread_create()将单
10 2024-04-09
编程技术问答社区
用JavaScript或服务器端C语言生成约500个小图片的 "最佳 "方法
这是我第一次尝试生成图像的尝试. 我想显示大约500个小的 - 例如32px x 24px- 16色图像,每个图像在表单元格中.每个图像(如我现在所看到的)是一个彩色像素的2D阵列,每个像素代表C-Language CGI提供的值. 完成的,显示的图像是一个promitive烛台图,每个蜡烛都宽一个像素,例如:所有〜500张图像都希望每10秒重新播放一次,尽管: 在任何瞬间,只有大约30个人出现在视口上;和 图像仅每〜10分钟一次. 我可以在服务器和客户端的任何组合上生成图像.但是我需要一种一般策略才能让我开始. 什么是最轻的重量(我希望没有巨大的JS lib),最快(实施),最快(执行)和最便宜的(客户端RAM)以显示这些图像? 谢谢! 解决方案 如果您问我什么是 最快 最快 最便宜 我对此没有配音: http://code.google.com/apis/apis/chart/chart/ 您可以将所有肮脏的作
10 2024-04-09
编程技术问答社区
如何用c语言编写的cgi程序上传图片文件?
我想在服务器上上传JPEG图像文件.我有一个GoAhead Web服务器,该服务器仅支持CGI C程序作为Serverside Handeling. 任何人都可以知道如何处理CGI的witten中发布的http张贴的图像文件? 解决方案 要获取发布数据,只需阅读stdin即可.环境变量content_length告诉您要期望多少,但是当然需要使代码与潜在的恶意用户向您投掷的任何代码. 其他解决方案 为此,GoAhead Web服务器具有文件上传过滤器.上传过滤器接收上传的文件并将其保存到磁盘.然后,它设置了描述上传的一些请求变量.这些变量可通过CGI或操作功能或JST模板访问. 测试中有一个示例.搜索uploadTest(). 请参阅: https://github.com/embedthis/goahead/blob/master/test/test.c
22 2024-04-09
编程技术问答社区
从CGI C模块返回http错误代码
我已经用C&编写了CGI模块,以解决某种条件,我想从此模块返回HTTP错误400.问题是 - 我不知道如何从模块返回HTTP错误. 看起来我的模块中的"返回(-1)",返回500个内部服务器错误.我尝试返回400等.但是静脉.我什至尝试过" printf("状态:400");在返回-1之前(如下所示:对此的任何建议将不胜感激. 编辑:[已解决]我能够从python模块返回HTTP错误代码(该C CGI模块稍后调用).因此,没有尝试下面的评论中提到的建议.不过,感谢您提供的帮助. 解决方案 要将HTTP错误400返回到HTTP客户端,您必须将HTTP状态行写入STDOUT,例如: printf("Status: 400 Bad Request\n"); ref: > 状态标头字段包含一个3位整数结果代码 指示脚本尝试处理的成功水平 请求. Status = "Status:" status-code SP reason-phra
10 2024-04-08
编程技术问答社区
我的sscanf格式有什么问题?
我正在尝试在此处处理C的表单数据. fgets(somedata, bufferone, stdin); 如果我printf'Sypedata',我会得到: username=John&password=hispass123 现在尝试使用 进行SSCANF char usr[100], pass[100]; sscanf(somedata, "username=%s&password=%s", usr, pass); printf("Content-type: text/html\n\n"); printf("%s is value 1\n", usr); printf("%s is value 2\n", pass); 比我得到的 John&password=hispass123 is value 1 ?? is value 2 我怀疑,第一个呼叫读取为null末端,然后第二个呼叫溢出或其他内容. 所以我需要该格式的帮助.另外,在这种情况
12 2024-04-04
编程技术问答社区
如何将Openpyxl生成的xlsx输出到浏览器?
我已经使用了Stackoverflow一段时间了,这经常对我有所帮助.现在,我有一个问题无法解决自己或通过搜索解决. 我正在尝试在使用phpexcel进行时,在浏览器中输出OpenPyXl生成的Excel文件.该方法似乎是相同的,但是我只会被损坏.我的代码看起来像这样: from openpyxl.workbook import Workbook from openpyxl.writer.excel import ExcelWriter from openpyxl.writer.excel import save_virtual_workbook from openpyxl.cell import get_column_letter from StringIO import StringIO print 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' print '
12 2024-04-03
编程技术问答社区
在Content-Disposition文件名中的特殊字符
我的问题是如何编码http中的content-disposition标题的文件名参数? 但是由于很久以前就这个问题提出了问题,但我仍然没有令人满意的答案(我认为),我想再次问. i开发了一个C ++ CGI应用程序,该应用程序提供了可以包含其名称中特殊字符的文件,例如 " 怪异#€= {}; filename.txt " 在 Internet Explorer Firefox chrome Opera Safari 我会为每个浏览器的其他解决方案感到满意. 现在这就是我走了多远: Internet Explorer (添加了双引号并替换#和;) Content-Disposition: attachment; filename="weird %23 € = { } %3B filename.txt" firefox (双引号似乎有效.别无所求): Content-Disposition: attachment; filename="wei
8 2024-04-03
编程技术问答社区
为什么当我从网上运行CGI脚本时,Python找不到一些模块?
我不知道这里有什么问题: 我有一些来自Biopython的模块,我可以轻松地使用交互式提示或通过命令行执行Python脚本. 问题是,当我尝试在Web难以执行的CGI脚本中导入相同的生物thon模块时,我会得到一个"导入错误" :不 名为Bio 的模块 这里有什么想法? 解决方案 这里有几个可能性: apache(在UNIX上)通常以不同的用户和不同的环境运行,可从命令行中进行Python.尝试制作一个只需打印出sys.version和sys.prefix的小脚本,并通过Apache和命令行比较结果,以确保您是在两个环境中python的同一安装中运行的. Biopython是在您的主目录下安装的,还是仅适用于普通用户?同样,由于Apache通常以其他用户的身份运行,也许您无法访问该位置,因此无法导入. 在尝试导入生物繁殖之前,您可以尝试做import site吗?也许有些事情阻止了通过Apache运行时导入的站点软件包. 其他解决方案 在C
8 2024-03-31
编程技术问答社区
在Python 3中从CGI输出二进制数据
这个问题与这个问题有关.例如,我从Python 2中的CGI脚本打印原始二进制数据时没有问题,例如: #!/usr/bin/env python2 import os if __name__ == '__main__': with open(os.path.abspath('test.png'), 'rb') as f: print "Content-Type: image/png\n" print f.read() 这是相关响应标头: > GET /cgi-bin/plot_string2.py HTTP/1.1 > User-Agent: curl/7.32.0 > Host: 0.0.0.0:8888 > Accept: */* > * HTTP 1.0, assume close after body
10 2024-03-30
编程技术问答社区
如何在Python中通过cgi部署zip文件(或其他二进制文件)?
我正在使用Python和CGI编码一个小型网站,用户可以上传zip文件并下载其他用户上传的文件. 目前,我可以正确上传ZIP,但是我遇到了一些麻烦,可以正确地将文件发送给用户.我的第一种方法是: file = open('../../data/code/' + filename + '.zip','rb') print("Content-type: application/octet-stream") print("Content-Disposition: filename=%s.zip" %(filename)) print(file.read()) file.close() ,但很快我意识到我必须将文件发送为二进制,所以我尝试了: print("Content-type: application/octet-stream") print("Content-Disposition: filename=%s.zip" %(filename)) print('Conte
10 2024-03-30
编程技术问答社区
在CGI中使用BeautifulSoup而无需安装
我正在尝试在Python中构建一个简单的刮板,该刮板将通过CGI在Web服务器上运行.基本上,它将返回由在URL中传递给它的参数确定的值.我需要BeautifulSoup来处理Web服务器上HTML页面的处理.但是,我正在使用HelioHost,这并不能让我访问或PIP等.我只能使用FTP.一个是BS网站,它说您可以直接提取它并无需安装即可使用它. 因此,我在Win7机器上使用了Tarball,使用7个拉链去除BZ2压缩,然后使用TAR压缩,这给了我一个bs4文件夹和setup.py> setup.py>.我将完整的bs4文件夹传输到我的cgi-bin目录,其中Python脚本通过FTP位于.我的脚本代码是: #!/usr/bin/python import cgitb cgitb.enable() import urllib import urllib2 from bs4 import * print "Content-type: text/html\n\n" pri
16 2024-03-30
编程技术问答社区
你如何从perl访问HTTP基本认证的用户名?
我需要在我的CGI脚本中获取远程用户名.我在哪里找到?我想在我返回的页面上显示该名称. 解决方案 在CGI规格下,HTTP-auth用户名将在环境变量REMOTE_USER中.在Perl中,您可以通过$ENV{REMOTE_USER}获得此功能. You can find descriptions of all the standard CGI environment variables, including REMOTE_USER, in section 4 of RFC 3875 . 其他解决方案 remote_user() cgi module . 如果您不使用CGI模块,则环境变量远程_user:$ENV{REMOTE_USER}
12 2024-03-29
编程技术问答社区
CGI文件的奇怪行为
我已经完成了一个小项目.在其中,我使用了一些.cgi文件,其中我在微控制器和Web服务器之间进行通信.问题是: 如果我使用此代码,则项目正常: #!/bin/bash ./moveRight echo "Status: 204 No Content" echo "Content-type: text/html" echo "" 但是当我使用TJIS代码时,什么也不会发生: #!/bin/bash mkdir /tmp/stream raspistill --nopreview -w 640 -h 480 -q 5 -o /tmp/stream/pic.jpg -tl 100 -t 9999999 -th 0:0:0 & chmod 777 /dev/ttyAMA0 LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_file.so -f /tmp/stream -n pic.jpg" -o "
8 2024-03-29
编程技术问答社区