2016-08-27 12 views
0

私はBitcoin取引にBitStampを使用していますが、APIを使用して残高を確認しようとしています。C#HttpWebRequest 403 BitStamp APIで禁止されている投稿

私は、フォームメールまたはx-www-form-urlencodedのいずれかを使用して郵便番号を使用して認証を行わずにAPIをテストすると、どちらもうまく動作します。しかし、ほとんどのため、

<html> 
    <head><title>Test</title></head> 
    <body> 
     <form action="https://www.bitstamp.net/api/v2/balance/btcusd/" method="post"> 
      <input type="text" name="key" value="SomeKey" /> 
      <input type="text" name="signature" value="SomeSignature" /> 
      <input type="text" name="nonce" value="123456789" /> 
      <input type="submit" value="Test" /> 
     </form> 
    </body> 
</html> 

しかし、私は、私はバイオリン弾き内の記事を見てきました

try 
{ 
    HttpWebRequest getApiRequest = (HttpWebRequest)HttpWebRequest.Create("https://www.bitstamp.net/api/v2/balance/btcusd/"); 

    getApiRequest.Method = "POST"; 

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

    getApiRequest.ContentType = "application/x-www-form-urlencoded;"; 
    string FormData = "key=SomeKey&signature=SomeSignature&nonce=123456789" 
    StreamWriter formWrite = new StreamWriter(getApiRequest.GetRequestStream()); 
    formWrite.Write(FormData); 
    formWrite.Flush(); 
    formWrite.Close(); 

    StreamReader resultReader = new StreamReader(getApiRequest.GetResponse().GetResponseStream()); 
    string result = resultReader.ReadToEnd(); 
    resultReader.Close(); 
    return result; 
} 
catch (Exception e) 
{ 
    return e.Message; 
} 

例外で403 Forbiddenを得続けるHttpWebRequestのでそれをやって:だけでも、ブラウザからの投稿それは完璧に動作しますそれは同じように見える。しかし、確かに、私はFiddlerの権利を使用しているとは確信していません。私はContent-Type "multipart/form-data;"を試しました。 FormDataは境界線とすべてで正しく書かれていますが、運はありません。私はユーザーエージェントを設定しようとしましたが、まだ運がありません。私は何が欠けていますか?

答えて

0

私は、例外がスローされても、それがWeb例外の場合でも私はまだ応答を得ることができることを発見しました。

catch (WebException we) 
{ 
    StreamReader resultReader = new StreamReader(we.Response.GetResponseStream()); 
    string result = resultReader.ReadToEnd(); 
    resultReader.Close(); 
    return result; 
} 
catch (Exception e) 
{ 
    return e.Message; 
} 

私が使用したノンスは以前使用していたエラーであることがわかりました。

関連する問題