2009-11-08 4 views
6

배경 : Paypal IPN 처리기를 구현 중입니다.HttpWebRequest가 자동으로 200 OK를 전송합니까?

Paypal의이 위대한 article은 내가 응답을 읽은 후 200 OK를 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

명백한 HTTP 응답이 "200 OK"로 전송되는 것을 볼 수 없습니다.

사용 된 HttpWebRequest가 자동으로 200 OK를 보내나요?

예인 경우 해당 시점에서 발생합니까?

그렇지 않은 경우 어떻게 HttpWebRequest를 사용하여 200 OK 응답을 보낼 수 있습니까? HttpWebRequest 또는 소켓을 사용하면 더 쉬워 집니까?

+1

나는이 페이팔 API에 익숙하지 않지만 HttpWebRequest는 상태를 보내지 않습니다. 서버가 요청할 때 서버로부터 상태를받습니다. 참조하는 기사에 대한 링크를 줄 수 있습니까? –

+0

"PayPal에 대한 훌륭한 기사"는 다음 중 어느 것입니까? – AnthonyWJones

+0

죄송합니다, 링크를 붙여 넣는 것을 잊었습니다. 여기 : http://www.codeproject.com/KB/aspnet/paypal_c_aspnet.aspx#PostPayment 또한 게시물을 편집했습니다. – Marek

답변

4

정말로 묻는 질문에 대한 짧은 대답은 페이지가 성공적으로 실행되면 200이 다시 전송됩니다. 당신이 말하는 문서의 요점은 당신에 대한 요청으로 페이팔에 요청을 보내는 것에 관한 것이므로 200을 보내는 것은 HttpWebRequest 객체와 아무 관련이 없습니다. 누군가 이미 지적했듯이.

페이팔에 200을 돌려 보내려면이 기사의 경우 페이지가 성공적으로 실행되면 ASP.NET이 자동으로 그렇게합니다.

+0

정말 고마워요! 이제는 나에게 의미가있다. "확인을받은 후에 200 OK를 보내십시오"부분은 나를 검증 자의 출신 국으로 돌려 보내야한다고 생각하도록 혼란스러워했습니다. – Marek

0

답변을 얻는 가장 쉬운 방법은 Wireshark을 사용하여 정확하게주고받는 것을 확인하는 것입니다.

관련 문제