加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 处理原始HTTP请求内容

发布时间:2020-12-16 04:19:42 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET中使用 PayPal’s Website Payments Standard服务进行电子商务解决方案.与此同时,我使用他们提供的服务( Payment Data Transfer),在用户完成付款后向您发送订单信息.我需要做的最后一件事就是从他们解析POST请求并在其中保留信息. HTTP请求的内容
我在ASP.NET中使用 PayPal’s Website Payments Standard服务进行电子商务解决方案.与此同时,我使用他们提供的服务( Payment Data Transfer),在用户完成付款后向您发送订单信息.我需要做的最后一件事就是从他们解析POST请求并在其中保留信息. HTTP请求的内容采用以下形式:

SUCCESS
first_name=Jane+Doe
last_name=Smith
payment_status=Completed
payer_email=janedoesmith%40hotmail.com
payment_gross=3.99
mc_currency=USD
custom=For+the+purchase+of+the+rare+book+Green+Eggs+%26+Ham

基本上我想解析这些信息并做一些有意义的事情,比如通过电子邮件发送或将其保存在数据库中.我的问题是在ASP.NET中解析原始HTTP数据的正确方法是什么,而不是解析本身是如何完成的.

解决方法

这样的东西放在你的onload事件中.
if (Request.RequestType == "POST")
{
    using (StreamReader sr = new StreamReader(Request.InputStream))
    {
        if (sr.ReadLine() == "SUCCESS")
        {
            /* Do your parsing here */
        }
    }
}

请注意,他们可能需要一些特殊的响应(即;不是完整的网页),所以在完成解析后你可能会做这样的事情.

Response.Clear();
Response.ContentType = "text/plain";
Response.Write("Thanks!");
Response.End();

更新:这应该在Generic Handler(.ashx)文件中完成,以避免页面模型产生大量开销.有关.ashx文件的更多信息,请查看this article

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读