2016-11-14 5 views
0

私はWebアプリケーションにpayuを統合しています。問題は私が新しい注文を要求することができないことですそれは私のアプリで禁止されている403を返しますが、同じデータで私はそれを郵便配達しているAPIから200を得ることができます。 私は、トークン、作成された承認、送信されたヘッダ(認可、content-type、content-length)を取得しました。 私のpostメソッドです。Payu OrderCreateRequest returns 403

var request = (HttpWebRequest)WebRequest.Create(new Uri(Url)); 
     var postData = RawData;//json data 

     request.Method = "POST"; 
     request.ContentType = ContentType; 
     if (Headers != null) // add headers 
     { 
      foreach (var header in Headers) 
      { 
       request.Headers.Add(header.Key, header.Value); 
      } 
     } 
     var data = Encoding.UTF8.GetBytes(postData); 

     request.ContentLength = data.Length; 

     using (var stream = new StreamWriter(request.GetRequestStream())) 
     { 
      stream.Write(data); 
     } 


     try 
     { 
      var response = (HttpWebResponse)request.GetResponse(); 
      var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); 
      return responseString; 
     } 
     catch (WebException e) 
     { 
      return null; 
     } 
+0

それは 'request.ContentLength = data.Length'を設定するときは、*データ*を使用している目的にされているが、その後、' stream.Write(POSTDATA)に* POSTDATA *を使用; ' - またはことをやりました事故によって起こる? (専門家はいません...潜在的なミックスアップを見て) –

+0

@PeterB私はさまざまな方法を試していますが、postDataをデータに変更するのを忘れました。同じ状況が起こります。あなたの注意のためにありがたいです – snncvlk

答えて

0

この行を追加してください。

request.UseDefaultCredentials = true; 

ここで、このエラーの詳細な説明をstackoverflowで確認できます。

The remote server returned an error: (403) Forbidden

+0

Unfortunatelly、うまくいきません。 – snncvlk

+0

すべてを試してみて、結果は同じです。 – snncvlk