【问题标题】:How Do I Extract the Values from HTTP Response如何从 HTTP 响应中提取值
【发布时间】:2015-04-24 05:15:40
【问题描述】:

我收到以下来自网络请求的响应,我想从以下字符串中提取数据,谁能帮助我如何做到这一点。

message-headers[["Received", "by luna.mailgun.net with HTTP; Fri, 24 Apr 2015 04:49:58 +0000"], ["Mime-Version", "1.0"], ["Content-Type", ["text/html", {"charset": "ascii"}]], ["Subject", "Booking Confirmation :  2/99 Normanby Road, Kew,Australia"], ["From", "Digital Photography Inhouse <bookings@test.net.au>"], ["To", "manojkumar.soni@e-zest.in"], ["X-Mailgun-Track", "true"], ["X-Mailgun-Track-Clicks", "true"], ["X-Mailgun-Track-Opens", "true"], ["Message-Id", "<20150424044958.30315.17928@schedly.com.au>"], ["X-Mailgun-Sid", "WyIyZTY1OCIsICJtYW5vamt1bWFyLnNvbmlAZS16ZXN0LmluIiwgIjE4NmIzIl0="], ["Date", "Fri, 24 Apr 2015 04:49:58 +0000"], ["Sender", "bookings=manoj.net.au@test.com.au"], ["Content-Transfer-Encoding", ["quoted-printable", {}]]]

我正在读取如下值,请建议我读取此数据的最佳方法是什么。

public int insertData(HttpRequest req)
{
    if (req["Parameter_Name"] != null)
        parameter_Name = (string)req["Parameter_Name"];

    if (req["message-headers"] != null)
    {
        message_headers = (string)req["message-headers"];    
    }     
}

【问题讨论】:

    标签: c# asp.net arrays asp.net-mvc-4 webrequest


    【解决方案1】:

    您可以从 HttpRequest 中准备好 headers 的值,如下所示。

    IEnumerable<string> headerValues = req.Headers.GetValues("Parameter_Name");
    var result = headerValues.FirstOrDefault();
    

    【讨论】:

    • IEnumerable headerValues =req.Headers.GetValues("Received"); var 结果 = headerValues.FirstOrDefault();它抛出的值不能为空。例外,您能否让我知道在我的情况下 paramenter_name 应该是什么。谢谢
    • 您可以在标题中传递任何键。例如,如果您想阅读主题,那么它应该是 IEnumerable headerValues =req.Headers.GetValues("Subject"); var 结果 = headerValues.FirstOrDefault();