Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/160: Рейтинг темы: голосов - 160, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 29.01.2015
Сообщений: 41

Работа с API биржи yobit

08.08.2017, 23:58. Показов 38344. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Пытаюсь написать программу для автоматизированной работы на бирже. Встрял в самом начале на этапе авторизации.





Вот код:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var key, secret:string;
   url,sign:string;
   HTTP:THttpSend;
   list:TStringList;
   nonce:string;
begin
key:='///;
secret:='///';
nonce:=inttostr(DateTimeToUnix(now));
 
url:='https://yobit.net/tapi/';
sign:=SHA512DigestToHex(CalcHMAC_SHA512(secret, nonce));
 
HTTP:=THttpSend.Create;
HTTP.Headers.Add('key:'+key);
HTTP.Headers.Add('sign:'+sign);
HTTP.HTTPMethod('GET',url);
list:=TStringList.Create;
list.LoadFromStream(HTTP.Document);
memo1.Lines.Add(inttostr(HTTP.ResultCode)+#13#10+list.Text);
list.Free;
HTTP.Free;
 
 
end;
получаю ошибку HTTP 500


А вот информация по API с сайта


Адрес для отправки запросов Trade API: https://yobit.net/tapi/
Для каждого запроса нужна аутентификация.
Все ответы сервер отдаёт в формате JSON
Пример успешного ответа сервера:
{"success":1,"return":{ответ}}
Пример ответа, информирующего об ошибке:
{"success":0,"error":"ошибка"}
Аутентификация
Каждый запрос Trade API должен пройти аутентификацию.
Аутентификация происходит способом отправки следующих HTTP-заголовков:
Key - API-ключ, пример: FAF816D16FFDFBD1D46EEF5D5B10D8A2
Sign - цифровая подпись, POST-параметры (?param0=val0 & ...& nonce=1) подписанные секретным ключом с помощью HMAC-SHA512
Параметр nonce (минимум 1, максимум 2147483646) при каждом новом запросе должен быть больше значения из предыдущего запроса.
Для обнуления nonce необходимо создать новый ключ.



Подскажите пожалуйста, что я делаю не так?

Добавлено через 14 часов 50 минут
А если посылать только заголовки

Delphi
1
2
HTTP.Headers.Add('key:'+key);
HTTP.Headers.Add('sign:'+sign);
то в ответ, в мемо приходит 0.

Ни как не получается получить
{"success":1,"return":{ответ}}
или хотя бы
{"success":0,"error":"ошибка"}

Возможно неверно делаю вывод ответа?

Добавлено через 4 минуты
и еще не совсем понятно с параметром nonce, возможно из за него неверно формируется подпись?

Добавлено через 14 часов 24 минуты
Пошел другим путем, через INDY

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
key:='';
secret:='';
 
nonce := FormatDateTime('yyyymmddhhnnsszzz',now);
url:='https://yobit.net/tapi/?';
 
 
IdHTTP1.Request.UserAgent:= 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
post := TStringStream.Create;
post.WriteString('getInfo&'+ nonce);
sign:=SHA512DigestToHex(CalcHMAC_SHA512(secret, post.DataString));
IdHttp1.Request.CustomHeaders.FoldLines := false;
idhttp1.Request.CustomHeaders.Values['Content-Type']:='application/x-www-form-urlencoded';
idhttp1.Request.CustomHeaders.Values['Key']:=Key;
idhttp1.Request.CustomHeaders.Values['Sign']:=sign;
 
Memo1.Text:= idhttp1.POST(URL, post);
Получаю в ответ: {"success":0,"error":"invalid key, sign, method or nonce"}

Может с подписью что не так? Подскажите хоть что - нибудь))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.08.2017, 23:58
Ответы с готовыми решениями:

TIdHTTP и API биржи YObit
На бирже используется защита от ddos cloudflare.com При попытке открыть, например, следующий url: ...

Работа с API биржи hitbtc.com synapse https
Доброго времени суток! Необходимо научиться, работать с hitbtc.com через их api. https://api.hitbtc.com/ а именно, узнавать балланс,...

Yobit банит (API)!
При работе этой программы Yobit банит за большое число запросов, плохой Yobit . Програма выдает 300 пар из 8000, потом пишет ошибку. Как...

35
0 / 0 / 0
Регистрация: 18.10.2017
Сообщений: 4
08.12.2017, 14:43
Студворк — интернет-сервис помощи студентам
NIKOLAYY, пишите в чем конкретно проблема. Все АПИ я скидывать не буду, уж извиняйте..
Delphi
1
2
3
4
5
6
uses idglobal, IdHMACSHA1, Winapi.Windows, Winapi.Messages, System.SysUtils,
  System.Variants,
  System.Classes,
  IdBaseComponent, IdComponent, IdIOHandler, IdIOHandlerSocket,
  IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdTCPConnection, IdTCPClient, IdHTTP,
  System.json;
Вот вам юзес модуля с апи. За sha отвечает openSSL
0
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 1
10.02.2018, 13:34
Уважаемые, подскажите программу для торговли с несколькими api?
 Комментарий модератора 
п. 4.11 Правил форума:
Картинки и любые другие файлы загружайте на форум...
0
61 / 51 / 25
Регистрация: 17.12.2013
Сообщений: 258
17.03.2018, 17:36
Народ, понимаю что тема старая, но!

Добавлено через 1 минуту
Кликните здесь для просмотра всего текста
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var
  Nonce: UInt64;
  Par: String;
  Sign: String;
  Result: TStrings;
  Params: TStrings;
  HashSHA: THashSHA2;
begin
  Nonce := NSSettings_Main.ReadInteger('API', 'Nonce', 1);
  NSSettings_Main.WriteInteger('API', 'Nonce', Nonce + 1);
  Memo_Log.Lines.Add('Подготовка запроса');
  Memo_Log.Lines.Add('nonce = ' + IntToStr(Nonce));
  Par := '?method=getinfo&nonse=' + IntToStr(Nonce);
  HashSHA := THashSHA2.Create;
  Sign := HashSHA.GetHMAC(Par, Edit_Secret.Text, SHA256);
  Result := TStringList.Create;
  Params := TStringList.Create;
  Params.Add('method=getinfo');
  Params.Add('nonce=' + IntToStr(Nonce));
  IdHTTP_Main.Request.CustomHeaders.FoldLines := False;
  IdHTTP_Main.Request.CustomHeaders.Values['Key'] := Edit_Key.Text;
  IdHTTP_Main.Request.CustomHeaders.Values['Sign'] := Sign;
  IdHTTP_Main.HandleRedirects := True;
  Result.Text := IdHTTP_Main.Post('https://yobit.net/tapi/', Params);
  Params.Free;
  Memo_Log.Lines.AddStrings(Result);


403 forbidden

Добавлено через 52 секунды
Подскажите куда копать?

Добавлено через 1 минуту
А ну и для понятности NSSettings_Main это свой компонент - обертка для TINIFile, я через него в данном случае сохраняю последний nonce

Добавлено через 31 минуту
Forbidden победил, теперь говорит ivalid sign, прошу помощи, что не так?

Добавлено через 22 секунды
Кликните здесь для просмотра всего текста
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var
  Nonce: UInt64;
  Par: String;
  Sign: String;
  Result: TStrings;
  Params: TStrings;
  HashSHA: THashSHA2;
begin
  Nonce := NSSettings_Main.ReadInteger('API', 'Nonce', 1);
  NSSettings_Main.WriteInteger('API', 'Nonce', Nonce + 1);
  Memo_Log.Lines.Add('Подготовка запроса');
  Memo_Log.Lines.Add('nonce = ' + IntToStr(Nonce));
  Par := '?method=getInfo&nonse=' + IntToStr(Nonce);
  HashSHA := THashSHA2.Create;
  Sign := HashSHA.GetHMAC(Par, Edit_Secret.Text, SHA512);
  Result := TStringList.Create;
  Params := TStringList.Create;
  Params.Add('method=getInfo');
  Params.Add('nonce=' + IntToStr(Nonce));
  IdHTTP_Main.Request.Connection:='keep-alive';
  IdHTTP_Main.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 ';
  IdHTTP_Main.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.102 Safari/537.36';
  IdHTTP_Main.Request.Referer:='https://mobile.twitter.com/session/new';
  IdHTTP_Main.Request.ContentType:='application/x-www-form-urlencoded';
  IdHTTP_Main.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
  IdHTTP_Main.Request.CustomHeaders.Values['Key'] := Edit_Key.Text;
  IdHTTP_Main.Request.CustomHeaders.Values['Sign'] := Sign;
  Result.Text := IdHTTP_Main.Post('https://yobit.net/tapi/', Params);
  Params.Free;
  Memo_Log.Lines.AddStrings(Result);
  Result.Free;


Добавлено через 3 часа 53 минуты
Все! я победил, тупая очепятка:

Delphi
1
Par := 'method=getInfo&nonse=' + IntToStr(Nonce);
0
1 / 1 / 0
Регистрация: 15.04.2018
Сообщений: 9
15.04.2018, 03:58
Цитата Сообщение от Sergey1990 Посмотреть сообщение
Встрял в самом начале на этапе авторизации.
- а я в начале начал. Sergey1990, Простите за серость, но я даже с этим справиться не могу: SHA512DigestToHex(CalcHMAC_SHA512.... ); Какой модуль (User) нужно подключить, чтобы Delphi увидела бы эту Функцию SHA512DigestToHex и эту тоже CalcHMAC_SHA512?
Я вижу для Вас это совсем не проблема, благодарю за ответ.

Добавлено через 16 минут
Цитата Сообщение от KMSNasgool Посмотреть сообщение
Все! я победил, тупая очепятка:
. KMSNasgool, А можно вообще, в командной строке на браузере поэкспериментировать с правильностью написания итоговой строки запроса? Например как то так:

Code
1
{"success":0,"error":"invalid key, sign, method or nonce"}
Понятное дело, что эта строка не работает и где ошибка так сразу и не найти, так вот, можно ли посмотреть на рабочую Вашу строку, Ключи и Подписи, КАНЕШНА не обязательно правильные писать. Спасибо.
0
1 / 1 / 0
Регистрация: 15.04.2018
Сообщений: 9
16.04.2018, 13:05
Два дня в битве за аутентификацию на Yobit-e не принесли полной победы, но кое-чего все же добился - {"success":0,"error":"invalid sign"}. Это значит, что нашел общий язык с сервером и тот понимает мои, пока еще неправильно сформулированные запросы. Для окончательной победы над несдающимся йобитом нужна помощь союзников.
Итак (опуская основные моменты программирования Delphi) формирую запрос из нескольких составляющих:
1. www=h t t p s : / / y o b i t . n e t / t a p i / - тут все ясно, (администратор, это не ссылка).
2. есть КЛЮЧ и есть СЕКРЕТ – тоже все ясно.
3. Выбираю метод getInfo
4. NONCE – тоже не вопрос, привязываюсь к количеству пройденных секунд от какой то там древней даты.
5. Формирую Параметр param:='?method=getInfo&nonce=13473778' типа string.
6. Еще формирую этот же Параметр типа TStringList
Lin[0]:method=getInfo
Lin[1]:nonce=13473778
7. Зашифровываю СЕКРЕТОМ по методу HMAC-SHA512 сформированный первый Параметр sign:=SHA512DigestToHex(CalcHMAC_SHA512( SEKRET,param)); или так: sign:=SHA512DigestToHex(CalcHMAC_SHA512( param, SEKRET)) – все перепробовал.
8. Передаю в заголовок КЛЮЧ и зашифрованный SIGN:
IdHTTP1.Request.CustomHeaders.AddValue(' key', Key);
IdHTTP1.Request.CustomHeaders.AddValue(' sign', sign);
9. Делаю запрос Lin.Text:=IdHTTP1.Post(WWW,Lin);

И получаю ответ сервера: {"success":0,"error":"invalid sign"} – величайшее мое достижение. Для эксперимента проделывал такое – IdHTTP1.Request.CustomHeaders.AddValue(' key', Key+’2’); - посылал кривой ключ, получал ответ {"success":0,"error":"invalid key"} – «Профессор, он понимает». Также, еще перепроверял правильность шифрования на вспомогательных сайтах, значит это «SHA512DigestToHex(CalcHMAC_SHA512(» шифрует правильно. Еще генерировал другие КЛЮЧи и СЕКРЕТы, все равно дальше не продвинулся – результат тот же. Делаю Вывод: проблема в формировании Параметров, этого: param:='?method=getInfo&nonce=13473778'; или этого:
Lin[0]:method=getInfo
Lin[1]:nonce=13473778
Или «Да с обоими не согласен».
Подскажите, пожалуйста, как правильно формировать эти Параметры.
0
0 / 0 / 0
Регистрация: 18.10.2017
Сообщений: 4
18.05.2018, 12:18
albe221b, Мой код выше работает.
При взятие хеша с параметров "?method=getInfo&nonce=13473778" ? не нужен(хеш берем от строки параметров без ?. Параметры разделяем символом "&").
0
2 / 2 / 0
Регистрация: 10.10.2013
Сообщений: 5
29.06.2018, 12:58
Если ещё кому-то нужно:
после нескольких дней экспериментов и штудирования форумов, итого две процедуры подключения к API YoBit (нужны библиотеки libeay32.dll и ssleay32.dll):

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
.....
uses
  SysUtils, Classes, DBXJSON, IdSSLOpenSSL, IdHTTP, DateUtils, IdGlobal,
  IdHMACSHA1, Dialogs;
.....
const
  YoKey = 'ваш ключ';
  YoSecret = 'ваш ключ-секрет';
.....
var
  JSON: TJSONObject;
.....
1. подключение к Public API, результат в глобальной переменной JSON
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function GetJSON(URL: string; RequestBody: TStringList): boolean;
var
  ResponseBody: string;
  HTTP: TIdHTTP;
  SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
  Result := false;
  try
    HTTP := TIdHTTP.Create;
    SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);
    try
      HTTP.HandleRedirects := True;
      HTTP.Request.Accept := 'application/json';
      HTTP.Request.ContentType := 'application/json';
      HTTP.Request.ContentEncoding := 'utf-8';
      HTTP.IOHandler := SSLIOHandler;
      HTTP.Request.UserAgent :=
        'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; MAAU)';
      ResponseBody := HTTP.Post(URL, RequestBody);
      JSON := nil;
      JSON := TJSONObject.ParseJSONValue(ResponseBody) as TJSONObject;
      if Assigned(JSON) then
        Result := True;
    finally
      SSLIOHandler.Free;
      HTTP.Free;
    end;
  except
    on E: Exception do;
  end;
end;
2. подключение к Trade API, результат в глобальной переменной JSON
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
function GetHMACSha1(Input, MyKey: string): String;
var
  B: TIdBytes;
  Sha: TIdHMACSHA512;
  AText: string;
begin
  IdSSLOpenSSL.LoadOpenSSLLibrary;
  Sha := TIdHMACSHA512.Create;
  try
    Sha.key := ToBytes(MyKey);
    B := Sha.HashValue(ToBytes(Input));
    AText := tohex(B);
    Result := LowerCase(AText);
  finally
    Sha.Free;
  end;
  // IdSSLOpenSSL.UnLoadOpenSSLLibrary;
end;
 
function GetAPIMethod(RequestBody: TStringList): boolean;
var
  ResponseBody, sign, param: string;
  HTTP: TIdHTTP;
  SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
  i: integer;
begin
  Result := false;
  sleep(1100);
  try
    HTTP := TIdHTTP.Create;
    SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);
    RequestBody.Add('nonce=' + IntToStr(DateTimeToUnix(now)));
    param := '';
    for i := 0 to RequestBody.Count - 2 do
      param := param + RequestBody[i] + '&';
    param := param + RequestBody[RequestBody.Count - 1];
    sign := GetHMACSha1(param, YoSecret);
    try
      HTTP.Request.CustomHeaders.FoldLines := false;
      HTTP.IOHandler := SSLIOHandler;
      HTTP.Request.UserAgent :=
        'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; MAAU)';
      HTTP.Request.CustomHeaders.Values['Key'] := YoKey;
      HTTP.Request.CustomHeaders.Values['Sign'] := sign;
      HTTP.Request.ContentLength := length(param);
      HTTP.HandleRedirects := True;
      ResponseBody := HTTP.Post('https://yobit.net/tapi/', RequestBody);
      JSON := nil;
      JSON := TJSONObject.ParseJSONValue(ResponseBody) as TJSONObject;
      if Assigned(JSON) then
        Result := True;
    finally
      SSLIOHandler.Free;
      HTTP.Free;
    end;
  except
    on E: Exception do;
  end;
end;
Добавлено через 11 минут
эм... чёт не дают отредактировать своё сообщение.
ключи указаны в константах:
Delphi
1
2
3
4
5
.....
const
  YoKey = 'Ваш ключ';
  YoSecret = 'Ваш ключ-секрет';
.....
пример вызова процедур:
1.
Delphi
1
GetJSON('https://yobit.net/api/3/info', TStringList.Create())
2.
Delphi
1
2
3
param := TStringList.Create();
param.Add('method=getInfo');
GetAPIMethod(param);
2
1 / 1 / 0
Регистрация: 15.04.2018
Сообщений: 9
30.07.2018, 15:16
Все беды были из-за использования не последней версии INDY !!! Сейчас, конечно же, все работает нормально.
Последняя версия ЭТО ВАЖНО! Спасибо всем поучавствовашим в процессе.
1
0 / 0 / 0
Регистрация: 22.11.2015
Сообщений: 2
14.08.2018, 10:39
можно попросить выложить обновления инди?
 Комментарий модератора 
Все обновления программных программных продуктов скачиваются с официальных сайтов производителей

Добавлено через 2 минуты
Цитата Сообщение от ViToTiV Посмотреть сообщение
Если ещё кому-то нужно:
как можно с вами связаться?
 Комментарий модератора 
п. 4.6 Правил форума
Обсуждение вопросов - только в теме на форуме. Приглашения к обсуждению еще где-либо (в том числе и с помощью системы личных сообщений) запрещены, за исключением коммерческих разделов.


Добавлено через 11 часов 7 минут
никто не сталкивался с такой ошибкой?

Error connecting with SSL.
error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version
0
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 13
06.03.2019, 11:35
KMSNasgool, какой модуль нужен, чтобы определило THashSHA2?

Что ни делаю, максимум - это ivalid sign по функции хеширования от ViToTiV

У меня D7, может из-за этого?
0
2 / 2 / 0
Регистрация: 10.10.2013
Сообщений: 5
06.03.2019, 11:40
NiceShot, я выложил код, протестированный на Delphi XE. У меня до сих пор всё отлично работает (делал свой трейдер)
Библиотеки libeay32.dll и ssleay32.dll ложил возле экзешника?
0
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 13
06.03.2019, 17:57
ViToTiV, С библиотеками порядок. В функциях ни как не смог прикрутить JSON и TJSONObject и все что с этим связано. По ходу DBXJSON нет в D7.
А в функции хеширования первый параметр - это строка из пробела + nonce со значением и + &, а второй это ключ-секрет?

Добавлено через 5 часов 12 минут
Да что вообще в этот sign надо запихнуть, что бы он не был invalid...?
0
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 13
08.03.2019, 20:43
Делаю так как писали выше, ViToTiV, и tetrisarena, но больше чем {"success":0,"error":"invalid sign"} я не смог добится. Менял par так, как фантазия позволяла, но она закончилась.
Помогите авторизироваться на этом ЁБИТЕ плиз.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Params := TStringList.Create;
 
  Params.Add('method=getInfo');
  Params.Add('nonce=' + nonce);
 
par:='';
 
for i := 0 to Params.Count - 2 do
    par := par + Params[i] + '&';
  par := par + Params[Params.Count - 1];
 
   par := 'method=getInfo&nonce=' + nonce;
  sign := GetHMACSha1(par, sek);
 
  IdHTTP1.Request.CustomHeaders.FoldLines := false;
  IdHTTP1.Request.UserAgent:= 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
  IdHTTP1.Request.CustomHeaders.Values['Content-Type']:='application/x-www-form-urlencoded';
  IdHTTP1.Request.CustomHeaders.Values['Key'] := key;
  IdHTTP1.Request.CustomHeaders.Values['Sign'] := sign;
  IdHTTP1.Request.ContentLength := length(par);
  IdHTTP1.HandleRedirects := true;
  try
    result := IdHTTP1.Post('https://yobit.net/tapi/', Params);
  Memo1.lines.add(Result);
 
  except
    exit;
  end;
0
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 13
09.03.2019, 21:24
Кто мне подскажет, кто расскажет... КАК!!!
0
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 13
10.03.2019, 13:36
Да поможет мне кто или нет способных?
0
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 13
10.03.2019, 22:04
А может хеширование не правильное?

Добавлено через 39 минут
Я хешировал уже все, что мог в переменной par
method=getInfo&nonce=1552253366
method=getInfo&nonce=1552253366&
&method=getInfo&nonce=1552253366&
?method=getInfo&nonce=1552253366
&method=getInfo&nonce=1552253366
и всеравно "invalid sign"

Добавлено через 31 минуту
Похоже, что что-то не так...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2019, 22:04

Как работать с YoBit API?
Есть API, которые описаны в разделе "Trade API" Никак не могу сделать запрос, все время сервер возвращает ошибку. Подскажите, что не...

Непонятный ответ API биржи poloniex
Здравствуйте! Собственно, сам код: import urllib import urllib.request import json import time import hmac,hashlib ...

Оператор условия не работает (API Биржи cryptopia)
Строка if : не работает как задумовалось Пары со значениям Volume=0 не нужны, но они серомно вылазят как бы я не делал. import...

Работа с vk.api
Здравствуйте. Появилась задача для определённого пользователя вывести список друзей, с указанием пола, города, и статусе(онлайн). ...

Работа c VK api
Всем привет! Решил написать сюда, не могу понять в чем проблема. Пишу код для обращения к вк апи. Запускаю на компьютере, выдает ошибку 28....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru