【问题标题】:How to read values from Request in MVC app?如何从 MVC 应用程序中的请求中读取值?
【发布时间】:2020-09-18 06:06:18
【问题描述】:

我的Request.Params 值如下

ALL_HTTP=HTTP_CONNECTION%3aKeep-Alive%0d%0aHTTP_CONTENT_LENGTH%3a0%0d%0aHTTP_ACCEPT%3atext%2fhtml%2c+application%2fxhtml%2bxml%2c+image%2fjxr%2c+%2f% 0d%0aHTTP_ACCEPT_ENCODING%3agzip%2c+deflate%0d%0aHTTP_ACCEPT_LANGUAGE%3aen-US%0d%0aHTTP_HOST%3alocalhost%3a81%0d%0aHTTP_REFERER%3ahttps%3a%2f%2flogin.live.com%2fppsecure%2fpost.srf%3fresponse_type% 3dcode%26client_id%26redirect_uri%3dhttps%253a%252f%252flogin.microsoftonline.com%252fcommon%252ffederation%252foauth2%26state%26username%3dtestuser%2540hotmail.com%26max_age%3d0%2fROOT&APPL_PHYSICAL_PATH=D%3a%5cASPNETMembership &AUTH_USER =&AUTH_PASSWORD =&LOGON_USER =&REMOTE_USER =&CERT_COOKIE =&CERT_FLAGS =&CERT_ISSUER =&CERT_KEYSIZE =&CERT_SECRETKEYSIZE =&CERT_SERIALNUMBER =&CERT_SERVER_ISSUER =&CERT_SERVER_SUBJECT =&CERT_SUBJECT =&CONTENT_LENGTH = 0&CONTENT_TYPE =&GATEWAY_INTERFACE = CGI%2f1.1&HTTPS =关闭&HTTPS_KEYSIZE =&HTTPS_SECRETKEYSIZE =&HTTPS_SERVER_ISSUER =&HTTPS_SERVER_SUBJECT =&INSTANCE_ID = 2&INSTANCE_META_PATH = %2fLM%2fW3SVC%2f2&LOCAL_ADDR=%3a%3a1&PATH_INFO=%2fLogin.aspx&HTTP_DNT=1&HTTP_FRONT_END_HTTPS=on&HTTP_X_FORWARDED_FOR=20.689.292.800

我想从上面的字符串中读取username 值。

我在下面尝试过

Request.QueryString["username"].ToString();
Request["username"];
Request.Params.Get("username");

但都返回空值或空值。

请告诉我如何从上述请求中读取用户名。

【问题讨论】:

    标签: c# asp.net .net asp.net-mvc


    【解决方案1】:

    试试这个

    var requestParams = Request.Params.Get("ALL_HTTP");
    var decoded = System.Web.HttpUtility.UrlDecode(requestParams);
    var queryString = System.Web.HttpUtility.ParseQueryString(decoded);
    var userName = queryString["username"];
    

    Request.Params.Get("username") 不起作用,因为 username(encoded) 在 ALL_HTTPparameter 中。

    您必须按照以下步骤获取用户名

    1. 获取ALL_HTTP参数
    2. URLDecode
    3. 解析成Collections.Specialized.NameValueCollection
    4. 使用参数名称访问所需的值

    【讨论】:

      【解决方案2】:

      你可以使用:

      var username = Request.Parameters["username"];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 2018-02-12
        • 2010-11-16
        • 1970-01-01
        • 2012-10-10
        • 2012-03-12
        • 2018-06-20
        相关资源
        最近更新 更多