Title: Не удалось создать защищенный канал SSL/TLS. Post by: megabax on March 21, 2019, 02:10:53 PM Добрый день.
Пытаюсь через АПИ blockchain.info закачать историю кошелька: Code: string url = @"https://blockchain.info/rawaddr/385cR5DM96n1HvBDMzLHPYcw89fZAXULJP"; Код на C#. И почему то на строке Code: WebResponse httpResponse = request.GetResponse(); Вылетает с ошибкой: Quote Additional information: Запрос был прерван: Не удалось создать защищенный канал SSL/TLS Подскажите, пожалуйста, что делаю не так? Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: A-Bolt on March 21, 2019, 04:41:06 PM Подскажите, пожалуйста, что делаю не так? Будьте проще: Code: string url = @"https://blockchain.info/rawaddr/385cR5DM96n1HvBDMzLHPYcw89fZAXULJP"; Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: megabax on March 22, 2019, 05:09:30 AM Все равно та же самая ошибка на строке
Code: using (WebResponse httpResponse = request.GetResponse()) Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: n00by on March 22, 2019, 07:17:37 AM Все равно та же самая ошибка на строке Code: using (WebResponse httpResponse = request.GetResponse()) Там по моему токен нужен для SSL. То есть твой request надо дополнить параметрами SSL Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: A-Bolt on March 22, 2019, 09:31:01 AM Все равно та же самая ошибка на строке Code: using (WebResponse httpResponse = request.GetResponse()) Странно как-то. У меня прямо сейчас вот этот код выводит в консоль ответ в формате JSON без всяких ошибок: Code: static void Main(string[] args) Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: megabax on March 22, 2019, 10:37:47 AM Действительно странно.
После того как перевел проект на NetFramework 4.7.1 и поднял Visual studio с 2015 до 2017 заработало. Хотя, непонятно, почему не ставится BlockchainAPI, выдавая сообщение: Quote Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка Не удалось установить пакет «BlockchainAPI 4.0.0». Вы пытаетесь установить этот пакет в проект, требуемая версия платформы которого — «.NETFramework,Version=v4.7.1», но в пакете нет ссылок на сборки или файлов содержимого, совместимых с этой платформой. Дополнительную информацию можно получить у автора пакета. Кстати, а стоит ли вообще ставить BlockchainAPI, кто-нибудь работал с ним? Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: ligor on March 22, 2019, 10:38:06 AM Может протоколов задать больше?
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: megabax on March 22, 2019, 10:46:38 AM Еще вопрос в догонку.
В этом JSON информация о дате и времени типа "time":1552580349, в какой формате? Как ее в нормальное время перевести? Quote Может протоколов задать больше? ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; И так делал. И точно также не работало. Только после установки VS 2017 и NetFramework 4.7.1 заработало. Но никак не понимаю, какая тут связь?? Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: ligor on March 22, 2019, 11:04:14 AM Еще вопрос в догонку. В этом JSON информация о дате и времени типа "time":1552580349, в какой формате? Как ее в нормальное время перевести? Quote Может протоколов задать больше? ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; И так делал. И точно также не работало. Только после установки VS 2017 и NetFramework 4.7.1 заработало. Но никак не понимаю, какая тут связь?? Это в Юниксовом http://www.onlineconversion.com/unix_time.htm Много вариантов обработать, например так https://stackoverflow.com/questions/249760/how-can-i-convert-a-unix-timestamp-to-datetime-and-vice-versa По поводу протоколов, вроде как старые версии студии (фреймворков?) не поддерживают новые протоколы, но могу ошибиться. Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: megabax on March 22, 2019, 12:12:42 PM Quote По поводу протоколов, вроде как старые версии студии (фреймворков?) не поддерживают новые протоколы, но могу ошибиться. После установки новый фрейморков новые протоколы не добавились, как было максимум SecurityProtocolType.Tls12, так и осталось Кстати, не подскажите как решить внезапно всплывшую проблему? В Json-е есть такое: Quote "out":[ { "spent":false, ... ... Но я не могу объявить структуру типа public List<МойКласс> out; - ибо ключевое слово. То есть получается не будет работать конструкция Code: history = JsonConvert.DeserializeObject<JsonWalletHistory>(reader.ReadToEnd()); Как тут быть? В самом тексте Json-перед распарсиванием заменить out на что-то иное или есть другое, более красивое решение? Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: ligor on March 22, 2019, 01:51:28 PM Quote По поводу протоколов, вроде как старые версии студии (фреймворков?) не поддерживают новые протоколы, но могу ошибиться. После установки новый фрейморков новые протоколы не добавились, как было максимум SecurityProtocolType.Tls12, так и осталось Кстати, не подскажите как решить внезапно всплывшую проблему? В Json-е есть такое: Quote "out":[ { "spent":false, ... ... Но я не могу объявить структуру типа public List<МойКласс> out; - ибо ключевое слово. То есть получается не будет работать конструкция Code: history = JsonConvert.DeserializeObject<JsonWalletHistory>(reader.ReadToEnd()); Как тут быть? В самом тексте Json-перед распарсиванием заменить out на что-то иное или есть другое, более красивое решение? используй [JsonProperty("out")] т.е. вроде // rename property [JsonProperty("out")] public IList myout{ get; set; } P.S. А разве их АПИ https://www.blockchain.com/ru/api не облегчает использование? Вот их библиотека https://github.com/blockchain/api-v1-client-csharp Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: megabax on March 22, 2019, 02:46:01 PM Quote используй [JsonProperty("out")] спасибо. Quote Вот их библиотека https://github.com/blockchain/api-v1-client-csharp Вот она что-то не ставится. говорит: Quote Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка Не удалось установить пакет «BlockchainAPI 4.0.0». Вы пытаетесь установить этот пакет в проект, требуемая версия платформы которого — «.NETFramework,Version=v4.7.1», но в пакете нет ссылок на сборки или файлов содержимого, совместимых с этой платформой. Дополнительную информацию можно получить у автора пакета. Кстати, еще такой интересный момент, в Json есть поле "result":5005, я так понимаю что это результат транзакции. Но только вот как-то странно, он сдвинут на 1 транзакцию назад. То есть, вот история по кошельку 385cR5DM96n1HvBDMzLHPYcw89fZAXULJP 568252 2019-03-22 10:16:44 +0.00005005 BTC 128,004.91059223 BTC $511,052,121 @ $3,992.44 568097 2019-03-21 11:02:02 +0.00000546 BTC 128,004.91054218 BTC $519,012,907 @ $4,054.63 567044 2019-03-14 19:34:50 +0.00001 BTC 128,004.91053672 BTC $496,525,109 @ $3,878.95 Первая транзакция (от 22 марта) "result":0 и только следующая за ней с датой от 21 марта имеет "result":5005? Непонятно, когда фактически поступили 0.00005005 BTC на кошелек, 22 марта, или все таки 21-ого? Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: ligor on March 22, 2019, 04:28:10 PM Quote Вот их библиотека https://github.com/blockchain/api-v1-client-csharp Вот она что-то не ставится. говорит: Quote Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка Не удалось установить пакет «BlockchainAPI 4.0.0». Вы пытаетесь установить этот пакет в проект, требуемая версия платформы которого — «.NETFramework,Version=v4.7.1», но в пакете нет ссылок на сборки или файлов содержимого, совместимых с этой платформой. Дополнительную информацию можно получить у автора пакета. Кстати, еще такой интересный момент, в Json есть поле Quote The library requires .NET Core 1.1. It is possible to use this library with the .NET Framework by editing Info.Blockchain.Api.csproj and changing <TargetFramework>netcoreapp1.1</TargetFramework> to your project's .NET version, e.g. <TargetFramework>net46</TargetFramework> По поводу result:5005 не скажу, может тут вообще не о сумме речь идет? 22 марта все таки позднее 21 Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: megabax on March 25, 2019, 05:42:43 AM Quote Там на Коре 1 идет, но можно изменить на фреймворк То есть ее не через нугет пакеты надо ставить, а скачать проект и прицепить его к моему решению, а там указать фреймворк?Quote По поводу result:5005 не скажу, может тут вообще не о сумме речь идет? 22 марта все таки позднее 21 Я сморю сюда:https://bitinfocharts.com/ru/bitcoin/address/385cR5DM96n1HvBDMzLHPYcw89fZAXULJP тут история отсортированая в обратном порядке (сначала новые потом старые даты), транзакции по АПИ в таком же порядке, и что в result совпадает с суммой, но сдвинуто на 1 в сторону старых дат. Но фактический эта сумма фигурирует в выходах за ту дату, которая стоит в таблице остатков из https://bitinfocharts.com/ru/bitcoin/address/385cR5DM96n1HvBDMzLHPYcw89fZAXULJP "out":[ { "spent":false, "tx_index":427293982, "type":0, "addr":"1AVGjEN5wuHZacY2NCk4KxDstoXZDMh2A", "value":1346, "n":0, "script":"76a91401cb57ded602c21d050856ef3f9f8bbe006462f488ac" }, { "spent":false, "tx_index":427293982, "type":0, "addr":"385cR5DM96n1HvBDMzLHPYcw89fZAXULJP", "value":5005, "n":1, "script":"a9144616b2c00cfc401861b98e86ccce47a683ed63da87" } ], Вот не пойму почему так. Что вообще обозначает поле "time":1553238932, в транзакции? Момент когда пользователь сформировал транзакцию, момент когда она в блок была включена ли когда была подтверждена? Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: fxpc on March 25, 2019, 12:35:49 PM Что вообще обозначает поле "time":1553238932, в транзакции? Момент когда пользователь сформировал транзакцию, момент когда она в блок была включена ли когда была подтверждена? В транзакции его нет. Это timestamp блока. Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: ligor on March 25, 2019, 12:53:38 PM То есть ее не через нугет пакеты надо ставить, а скачать проект и прицепить его к моему решению, а там указать фреймворк? .... Вот не пойму почему так. Что вообще обозначает поле "time":1553238932, в транзакции? Момент когда пользователь сформировал транзакцию, момент когда она в блок была включена ли когда была подтверждена? Посмотрел - там у них свежая версия на Стандарте, значит можно и в 4.6.1 и выше использовать. Создаешь проект и через Нугет ставишь, примеры подробные https://github.com/blockchain/api-v1-client-csharp/blob/master/docs/blockexplorer.md . Попробовал - работает. И не нужно с парсингом возиться. Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: megabax on March 26, 2019, 06:03:06 AM Quote В транзакции его нет. Это timestamp блока. То есть вообще непонятно, когда транзакция сформировалась? И поэтому момент поступления средств считать моментом формирования блока, ибо тогда ее все увидели?И еще некоторые непонятны. Если я делаю такой вот запрос к https://blockchain.info: https://blockchain.info/multiaddr?active=bc1q9sh6544xls87x7skjzyfhkty4wq7z76vn7qzq9 у меня говорит: https://blockchain.info/multiaddr?active=bc1q9sh6544xls87x7skjzyfhkty4wq7z76vn7qzq9 Invalid Bitcoin Address По другим кошелькам нормально выдает транзакцию. По тому же кошельку bc1q9sh6544xls87x7skjzyfhkty4wq7z76vn7qzq9 сервис https://bitinfocharts.com выдает график и таблицу движений: https://bitinfocharts.com/ru/bitcoin/address/bc1q9sh6544xls87x7skjzyfhkty4wq7z76vn7qzq9 Это как понимать, сервис https://blockchain.info глючит? Title: Re: Не удалось создать защищенный канал SSL/TLS. Post by: A-Bolt on March 26, 2019, 09:33:29 AM Quote В транзакции его нет. Это timestamp блока. То есть вообще непонятно, когда транзакция сформировалась? И поэтому момент поступления средств считать моментом формирования блока, ибо тогда ее все увидели?Да. Это такая фича криптовалют. Пока транзакция не в блоке - считайте, что её нет. Quote И еще некоторые непонятны. Если я делаю такой вот запрос к https://blockchain.info: https://blockchain.info/multiaddr?active=bc1q9sh6544xls87x7skjzyfhkty4wq7z76vn7qzq9 у меня говорит: https://blockchain.info/multiaddr?active=bc1q9sh6544xls87x7skjzyfhkty4wq7z76vn7qzq9 Invalid Bitcoin Address По другим кошелькам нормально выдает транзакцию. По тому же кошельку bc1q9sh6544xls87x7skjzyfhkty4wq7z76vn7qzq9 сервис https://bitinfocharts.com выдает график и таблицу движений: https://bitinfocharts.com/ru/bitcoin/address/bc1q9sh6544xls87x7skjzyfhkty4wq7z76vn7qzq9 Это как понимать, сервис https://blockchain.info глючит? blockchain.info не поддерживает адреса формата Bech32. |