Bitcoin 거래에 BitStamp를 사용하고 있으며 API를 사용하여 잔액을 확인하려고합니다.C# HttpWebRequest 403 BitStamp API Post에서 금지됨
인증없이 양식 - 데이터 또는 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 금지 오류가 계속 HttpWebRequest를 함께 그 일 : 심지어 단지 브라우저를 통해 게시 그것은 완벽하게 작동 부분은 같아 보인다. 하지만 필자가 필더를 올바르게 사용하고 있는지 확실하지 않습니다. 나는 Content-Type "multipart/form-data"를 시도했다. 테두리와 모든 것으로 올바르게 작성된 FormData로 운이 없습니다. 나는 사용자 에이전트를 설정하려고 시도했지만 아직 운이 없다. 내가 뭘 놓치고 있니?