Описание тега biology
@Стефан, что считать "прямой"? Есть ли у решения использовать "сортировку"? Вы можете сделать это "старая школа" и использовать псевдонимы, например, как определено в свой `.bashrc следующее, такие как псевдоним узел1="узел1 фтп.полный.имя"`. Теперь вы можете просто ввести `узел1`. Я считаю, что этот параметр (или эквивалент) теперь называется что-то вроде "сразу показать рисунок". Пожалуйста, попробуйте добавить ответ здесь, Если вы нашли. Это будет полезно в случае, когда сайт выходит из строя или ссылка не работает. ладно,да! правда! -хотя некоторые из этих программ не будет кросс-платформы Ну, изначально, кажется, работает, но я буду видеть, если все-таки держать, что после перезагрузки и/или глубокого сна.
строка запроса()
{
строки URL = "https://api.bitfinex.com/v1/balances";
строки paramDict = "{\"запрос\":\"\\/В1\\/противовесов\",\"\ извращенец":\"" + GetNonce() * 100000 + "\"}";
строку сообщения = EncodeTo64(paramDict);
строку сообщения = нагрузки;
строки Скей = тайна;
Системы.Текст.ASCIIEncoding кодировка = новая система.Текст.ASCIIEncoding();
байт[] keyByte = кодировка.Метод getbytes(Скей);
HMACSHA384 hmacsha384 = новый HMACSHA384(keyByte);
байт[] messageBytes = кодировка.Метод getbytes(сообщение);
байт[] hashmessage = hmacsha384.Метода computehash(messageBytes);
строки подписи = это.ByteToString(hashmessage);
ВАР заголовки = новый словарь<строка, строка>
{
{"Х-BFX вызывает количество приложений-значение apiKey",ключ},
{"Х-BFX вызывает количество приложений-груз",грузоподъемность},
{"Х-BFX вызывает количество приложений-подпись",подпись}
};
ВАР запрос = запросы WebRequest.Создать(новый URI(URL-адрес)) как класса HttpWebRequest;
если (запрос == нуль)
бросить новое исключение("не HTTP запросы WebRequest");
данных var = кодировка.Метод getbytes(paramDict);
запрос.Метод = "сообщение";
запрос.Параметр timeout = 30000;
запрос.ContentLength = данные.Длина;
по каждому элементу (ВАР в заголовках)
{
запрос.Заголовки.Добавить(а.Ключ,.Значение);
}
ВАР писать = запрос.Метод getrequeststream();
написать.Записи(данные, 0, данные.Длина);
ВАР реакция = запрос.Метод GetResponse() как класс httpwebresponse;
возвращать значение null;
}
это новый код, чтобы исправить ошибки с HMACSHA384
строки ByteToString(байт[] бафф)
{
строки sbinary = "";
для (int я = 0; я < бафф.Длина; я++)
{
sbinary += бафф[я].Метод toString("Х2"); формат // наговор
}
возвращение (sbinary);
}
и еще некоторые исправления.
длинные GetNonce()
{
возвращение извращенец++;
}
статический публичный строку EncodeTo64(строка toEncode)
{
байт[] toEncodeAsBytes
= Система.Текст.ASCIIEncoding.В ASCII.Метод getbytes(toEncode);
строковый аргумент returnvalue
= Система.Преобразования.ToBase64String(toEncodeAsBytes);
возвращает аргумент returnvalue;
}
ну и последний исправить, чтобы доказать ошибку
строки подписи = это.ByteToString(hashmessage).Нижестоящим();