首页 > 解决方案 > 在 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

标签: c#httprequest

解决方案


正如其他人所说,Request它是 ASP.NET 网页的专有东西,它甚至不存在于普通的控制台程序中,即使是那些实现 CGI 服务器的程序。HttpRequest也没有用,因为 CGI 仅通过 STDIN、STDOUT 和环境变量进行交互。

特别是 POST 数据通常通过请求主体发送,而在 CGI 标准中,主体通过 STDIN 提供给程序,因此您可以使用Console.Read()系列函数读取它。其他一些环境变量也可以帮助您获得有关正在服务的请求的更多信息(维基百科参考)。


推荐阅读