c# - 在 C# 使用 HttpRequest 检索表单字段值时需要帮助
问题描述
我正在尝试编写一个 C# cgi 脚本来检索我编写的 HTML 页面上输入字段表单的值。我阅读了有关 HttpRequest 的文档,但我仍然无法编译我的代码
我一直在谷歌搜索,但我没有尝试过任何工作。我有一个非常基本的 hello world C# cgi 脚本,它可以工作。这是无法编译的代码。
using System;
using System.Web;
using System.Web.UI;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Content-Type: text/html");
Console.WriteLine("");
Console.WriteLine("<HTML>");
Console.WriteLine("<HEAD>");
Console.WriteLine("<BODY>");
Console.WriteLine("<H3>Hello from a csharp compiled CGI script</H3>");
string mydata = Request["mydata"];
Console.WriteLine("</BODY>");
Console.WriteLine("</HTML>");
}
}
}
我收到如下错误消息:error CS0103: The name 'Request' does not exist in the current context
解决方案
正如其他人所说,Request
它是 ASP.NET 网页的专有东西,它甚至不存在于普通的控制台程序中,即使是那些实现 CGI 服务器的程序。HttpRequest
也没有用,因为 CGI 仅通过 STDIN、STDOUT 和环境变量进行交互。
特别是 POST 数据通常通过请求主体发送,而在 CGI 标准中,主体通过 STDIN 提供给程序,因此您可以使用Console.Read()
系列函数读取它。其他一些环境变量也可以帮助您获得有关正在服务的请求的更多信息(维基百科参考)。
推荐阅读
- python - python2中的枚举自动
- apache-kafka-streams - KStreams:持久窗口存储的最大窗口限制
- mongodb - 嵌套数组在 MongoDB、Symfony 5 中存储为“[...]”
- clojure - 如何根据 Clojure 中的一系列值修改嵌套在向量中的映射?
- amazon-web-services - 向 AWS CloudWatch 添加可用磁盘空间指标
- php - 使用 MadelineProto 和 Telegram API 获取 CHAT_WRITE_FORBIDDEN
- arrays - 我想用字符数检索单词
- android - 如何在 Android 中仅通过 Espresso 进行测试时禁用 EditText 自动建议
- python - 通过python连接时,SQL查询会导致系统停顿
- python - 如何限制从列表中随机选择一次问题?