Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Api nasıl kullanılır
#31
THashSHA2 kullanmayı tavsiye etmiştim. Kullandığınız Delphi'de bu yok mu? Hangi versiyonu kullanıyorsunuz?
There's no place like 127.0.0.1
WWW
Cevapla
#32
(05-01-2018, Saat: 22:42)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlTHashSHA2 kullanmayı tavsiye etmiştim. Kullandığınız Delphi'de bu yok mu? Hangi versiyonu kullanıyorsunuz?

Onuda şimdi denedim , dönen hata "HTTP/1.1 403 Forbidden" . Şimdi onun neden olduğunu anlamaya çalışıyorum. 


var
 Parameters: TStringList;
Rsp, sign: String;
begin
Parameters := TStringList.Create;
try
  Parameters.Add('nonce=1');
  Parameters.Add('command=returnBalances');

  Parameters.Delimiter := '&';
  sign := THashSHA2.GetHMAC(Parameters.DelimitedText, Secret, THashSHA2.TSHA2Version.SHA512);

  IdHTTP1.Request.CustomHeaders.Values['Key'] := 'VV1IK51R-xxxT';
  IdHTTP1.Request.CustomHeaders.Values['Sign'] := sign;

  Rsp := IdHTTP1.Post('https://poloniex.com/tradingApi', Parameters);
finally
  Parameters.Free;
end;
end;

şurayı yanlış kullanmış olabilirmiyim
  sign := THashSHA2.GetHMAC(Parameters.DelimitedText, Secret, THashSHA2.TSHA2Version.SHA512);
Cevapla
#33
Delphi 10.2 ile aşağıdaki kod çalışmaktadır(Sizin için üye olup API KEY edinip denedim Big Grin  ):
uses System.Hash;

procedure TForm1.Button1Click(Sender: TObject);
var
 Rsp, Sign: String;
 Parameters: TStringList;
begin
 Parameters := TStringList.Create;
 try
   Parameters.Add('command=returnBalances');
   Parameters.Add('nonce=10');
   Parameters.Delimiter := '&';
   Sign := THashSHA2.GetHMAC(Parameters.DelimitedText, Secret, SHA512);
   IdHTTP1.Request.CustomHeaders.Values['Sign'] := Sign;
   IdHTTP1.Request.CustomHeaders.Values['Key'] := Api_Key;
   Rsp := IdHTTP1.Post('https://poloniex.com/tradingApi', Parameters);
 finally
   Parameters.Free;
 end;
end;
There's no place like 127.0.0.1
WWW
Cevapla
#34
Hocam sen nasıl insansın yaa valla çok teşekkürler hakkını ödeyemem. Evet dediğiniz gibi çalışıyor. Artık html parse etmek yeterli olacak sanırım.
Araştırma yaparken json verilerini delphi sınıflarına dönüştürüp size unit olarak veren bir site buldum. İncelemek isteyen için linki
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#35
delphi 10.2 versiyonu kullanıyorum.
(06-01-2018, Saat: 00:20)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDelphi 10.2 ile aşağıdaki kod çalışmaktadır(Sizin için üye olup API KEY edinip denedim Big Grin  ):
uses System.Hash;

procedure TForm1.Button1Click(Sender: TObject);
var
 Rsp, Sign: String;
 Parameters: TStringList;
begin
 Parameters := TStringList.Create;
 try
   Parameters.Add('command=returnBalances');
   Parameters.Add('nonce=10');
   Parameters.Delimiter := '&';
   Sign := THashSHA2.GetHMAC(Parameters.DelimitedText, Secret, SHA512);
   IdHTTP1.Request.CustomHeaders.Values['Sign'] := Sign;
   IdHTTP1.Request.CustomHeaders.Values['Key'] := Api_Key;
   Rsp := IdHTTP1.Post('https://poloniex.com/tradingApi', Parameters);
 finally
   Parameters.Free;
 end;
end;

@SimaWB; yazdığı yukarıdaki kodu kullandığımda,


HTTP/1.1 422 hatasını alıyorum,


Hatanın sebebi ve çözümü konusunda yardımcı olabilir misiniz?
Cevapla
#36
(28-02-2018, Saat: 21:44)canbir Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol@SimaWB; yazdığı yukarıdaki kodu kullandığımda,


HTTP/1.1 422 hatasını alıyorum,


Hatanın sebebi ve çözümü konusunda yardımcı olabilir misiniz?

Canbir o koddaki şu kısma dikkat et arkadaşım, 
Parameters.Add('nonce=10');

nonce yazan kısımdaki rakam her seferinde değişik olmalı , aynı rakamı kullanma. Birde şunu hatırlatayım eğer polonexteki fiyatları çekmek için uygulama yapıyorsan SimaWb üstadın dediği gibi Get ile direk verileri çekebiliryosun apiye gerek yok. Api kullanmaktaki amaç , al sat yapmak, bakiyeni görmek gibi işlemler için.. Bunları kullanmayacaksan direk get ile yap.
SSL hatası alıyorsan , exe dosyanın yanına ekte vermiş olduğum dosyaları ekle öyle dene
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#37
(02-03-2018, Saat: 00:52)Lord_Ares Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(28-02-2018, Saat: 21:44)canbir Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol@SimaWB; yazdığı yukarıdaki kodu kullandığımda,


HTTP/1.1 422 hatasını alıyorum,


Hatanın sebebi ve çözümü konusunda yardımcı olabilir misiniz?

Canbir o koddaki şu kısma dikkat et arkadaşım, 
Parameters.Add('nonce=10');

nonce yazan kısımdaki rakam her seferinde değişik olmalı , aynı rakamı kullanma. Birde şunu hatırlatayım eğer polonexteki fiyatları çekmek için uygulama yapıyorsan SimaWb üstadın dediği gibi Get ile direk verileri çekebiliryosun apiye gerek yok. Api kullanmaktaki amaç , al sat yapmak, bakiyeni görmek gibi işlemler için.. Bunları kullanmayacaksan direk get ile yap.
SSL hatası alıyorsan , exe dosyanın yanına ekte vermiş olduğum dosyaları ekle öyle dene
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Sorun nonce yazan kısımdaymış, uyarınız üzerine api dökümanına yeniden baktım ve nonce için, bir önceki sayıdan daha büyük olması gerektiğini yazdığını gördüm.
nonce rakamını büyütünce http/1.1 422 hatası vermedi ve sonuçlar geldi.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  pascal script ile QuickReport nesnelerine nasıl erişim yapılır theSinan 4 215 01-08-2018, Saat: 08:51
Son Yorum: Kuri_YJ
  Mutex ile birden fazla kullanıcıda aynı programın çalışmasını nasıl engelleriz masteryoda 5 295 16-05-2018, Saat: 09:00
Son Yorum: Tuğrul HELVACI
  C Dll indeki Callback Nasıl Çevrilir? (Çözüldü) erkankurtaga 13 1.170 15-04-2018, Saat: 22:11
Son Yorum: ilgazinho
  Bu json formatı nasıl okunur? canbir 5 420 23-03-2018, Saat: 17:22
Son Yorum: barisatalay
  Harici dll içerisindeki metod Delphide nasıl çağırılır. yhackup 11 591 22-02-2018, Saat: 09:39
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi