我在ASP.NET中使用PayPal的网站付款标准服务进行电子商务解决方案.与此同时,我使用他们提供的服务(付款数据传输),在用户完成付款后向您发送订单信息.我需要做的最后一件事就是从它们解析POST请求并在其中保留信息.HTTP请求的内容采用以下形式:
SUCCESS
first_name = Jane + Doe
last_name = Smith
payment_status =已完成
payer_email = janedoesmith%40hotmail.com
payment_gross = 3.99
mc_currency = USD
custom =用于+ +购买+ + +稀有+书+绿+鸡蛋+%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();
更新:这应该在Generic Handler(.ashx)文件中完成,以避免页面模型产生大量开销.有关.ashx文件的更多信息,请查看此文章