代码之家  ›  专栏  ›  技术社区  ›  Marek

httpwebrequest是否自动发送200?

  •  7
  • Marek  · 技术社区  · 15 年前

    背景:我正在实施PayPal IPN处理程序。

    太棒了 article 在PayPal的状态,我需要发送一个200确定返回贝宝后,我读了响应。

    IPN请求的处理如下:

    //Send the request to PayPal and get the response
    StreamWriter streamOut = new StreamWriter(req.GetRequestStream(), 
                             System.Text.Encoding.ASCII);
    streamOut.Write(strRequest);
    streamOut.Close();
    
    StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream());
    string strResponse = streamIn.ReadToEnd(); //returns VERIFIED
    streamIn.Close();
    

    根据下面的(文章),代码(我猜)应该发送一个200确定返回贝宝:

    PayPal will respond with either VERIFIED or INVALID. After you receive this response, be sure to send 200 OK to prevent additional attempts from PayPal to send an IPN

    我没有看到任何明确的HTTP响应被发送为“200好”。

    使用的httpwebrequest是否自动发送200 OK?

    如果是,在哪一点发生?

    如果没有,如何使用httpwebrequest发送200 OK响应?使用httpwebrequest或sockets更容易做到这一点吗?

    2 回复  |  直到 15 年前
        1
  •  5
  •   Deeksy    15 年前

    对您真正要问的问题的简短回答是“是”,如果 你的 页面执行成功。你提到的文章中的要点是关于你向PayPal发送请求以响应它对你的请求,所以发送200与HTTP WebRebug对象没有任何关系,正如某人已经指出的。

    因此,在本文中,如果您想将200返回到PayPal,ASP.NET将在页面成功执行后自动执行。

        2
  •  0
  •   Myles    15 年前

    得到答案的最简单方法是使用 Wireshark 看看到底是什么东西被来回发送。