2009-11-08 6 views
6

背景:私はPaypal IPNハンドラを実装しています。HttpWebRequestは自動的に200 OKを送信しますか?

Paypalのこの偉大なarticleは、私が応答を読んだ後、200 OKをPaypalに送り返す必要があると述べています。 (記事から)以下、コードが(私は推測)PayPalに戻って200 OKを送信するようになっているによれば

//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(); 

:次のように

IPN要求の処理である

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

"200 OK"として送信される明示的なHTTP応答は表示されません。

使用されたHttpWebRequestは自動的に200 OKを送信しますか?

「はい」の場合、それはいつ発生しますか?

もしそうでなければ、HttpWebRequestを使用してどのように200 OK応答を送信できますか? HttpWebRequestやソケットを使用する方が簡単ですか?

+1

私はこのpaypal APIに慣れていませんが、HttpWebRequestはステータスを送信しません。要求を出したときにサーバーからステータスを受け取ります。あなたが参照している記事へのリンクを付けることはできますか? –

+0

「PayPalの素晴らしい記事」はどれですか? – AnthonyWJones

+0

申し訳ありませんが、リンクを貼り付けるのを忘れていました。ここで:http://www.codeproject.com/KB/aspnet/paypal_c_aspnet.aspx#PostPayment投稿を編集しました。 – Marek

答えて

4

あなたが本当に求めている質問への短い答えは、ページが正常に実行された場合、200が返信します。あなたが参照している記事のポイントは、PayPalにあなたの要求に応じてリクエストを送信することです。そのため、200の送信は誰かがすでに指摘しているように、HttpWebRequestオブジェクトとは関係ありません。

したがって、この記事の場合、Paypalに200を送り返したい場合、ページが正常に実行されるとASP.NETは自動的にこれを行います。

+0

ありがとう!今は私にとって意味があります。 「あなたがVERIFIEDを受け取った後、200 OKを送る」の部分は、VERIFIEDがどこに来たのかを私がそれを送り返すべきであると考えることに私を混乱させていました。 – Marek

0

答えを得る最も簡単な方法は、Wiresharkを使用して、正確に前後に送信されているものを確認することです。

関連する問題