我正在 ASP.NET 中做一个电子商务解决方案,它使用PayPal 网站支付标准 https://www.paypal.com/IntegrationCenter/ic_standard_home.html服务。除此之外,我还使用他们提供的服务(支付数据传输 https://www.paypal.com/IntegrationCenter/ic_pdt.html)在用户完成付款后向您发送回订单信息。我需要做的最后一件事是解析来自他们的 POST 请求并将信息保留在其中。 HTTP 请求的内容采用以下形式:
SUCCESS
名字=简+多伊
姓氏=史密斯
payment_status=已完成
payer_email=janedoesmith%40hotmail.com
付款总额=3.99
mc_currency=美元
定制=用于+购买+的+稀有+书+绿色+鸡蛋+%26+火腿
基本上我想解析这些信息并做一些有意义的事情,例如通过电子邮件发送或将其保存在数据库中。我的问题是在 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();
更新:这应该在通用处理程序 (.ashx) 文件中完成,以避免页面模型产生大量开销。查看本文 http://www.aspcode.net/Creating-an-ASHX-handler-in-ASPNET.aspx有关 .ashx 文件的更多信息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)