using System; using System.Net.Http; using System.Text; using System.Text.Json; using System.Threading.Tasks; namespace jsonRpcExample { class Program { static async Task Main(string[] args) { var request = new { jsonrpc = "2.0", method = "rpc_auth", @params = new { login = "user", password = "passs" }, id = 1 }; var client = new HttpClient(); var content = new StringContent(JsonSerializer.Serialize(request), Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://ecatalog.kazatu.kz/jirbis2/components/com_irbis/ajax_provider.php?task=rpc&class=jwrapper", content); var responseString = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseString); } } }
var request2 = new { jsonrpc = "2.0", method = "req_full_count", @params = new { base = "IBIS", req = "<.>V=$<.>" }, id = 3 };то ответ:
{"jsonrpc":"2.0","error":{"code":-32602,"message":"\u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b","data":"database not found"},"id":3}у кого есть опыт поскажите? Почему database not found
var request2 = new { jsonrpc = "2.0", method = "req_full_count", @params = new List<string> { "IBIS","<.>V=$<.>" }, id = 2 }; List<Object> list = new List<Object>(); list.Add(request); list.Add(request2); var client = new HttpClient(); var content = new StringContent(JsonSerializer.Serialize(list), Encoding.UTF8, "application/json");
Цитата:ИИ
StreamJsonRpc1: Эта библиотека от Microsoft предлагает JSON-RPC 2.0 через любой .NET Stream, WebSocket или Pipe. Она также поддерживает отмену запросов, генерацию прокси-клиентов и многое другое1.
JsonRpcClient2: Эта библиотека предоставляет классы для создания клиентов JSON RPC 2.0 в C#. По умолчанию она поддерживает HTTP с помощью RpcHttpClient и WebSockets с помощью RpcWsClient2.
HttpJsonRpcNet3: Эта кросс-платформенная библиотека .NET Standard реализует спецификацию JSON-RPC 2.0, а также потоковую передачу данных (вверх и вниз) поверх HTTP3.
[ { "jsonrpc": "2.0", "method": "rpc_auth", "params": { "login": "admin", "password": "parol" }, "id": 2 }, { "jsonrpc": "2.0", "method": "RecWrite", "params": ["RDR", true,"651#0 0#18 920#RDRU 10#testov 11#Сабыр 12#Жандосұлы 30#testov 23#м 50#студент 51#15.12.2015^CАБИП 22#228Д 31#^A20151215^BАСС 90#^02015/2016^F1^Oд/о^Vбкл^AВиТЖ ^C5В080300 907#^A20151215^Bmariavd 907#^A20151215^Bolzhas 907#^A20151215^B 907#^A20160222^B 907#^A20160226^B 907#^A20160404^B 907#^A20160511^B 907#^A20160921^B 907#^A20161102^Bolzhas 907#^A20161109^Bolzhas 907#^A20161116^Bmariavd 907#^A20161130^Bmariavd 907#^A20230614^Bolzhasmo 907#^A20230804^Bolzhasmo 907#^A20231106^Bolzhasmo 907#^A20240102^Badmin 907#^A20240105^Badmin 24#1000000100969 40#^AЦ69я73/Г12-388522^Bб/у-рег.№5607^KУА^VУА^D20151215^1114954^E20160104^GEK^H304DB75F1960000A00103CC9^IBatima^F20151213^2012444 40#^A636.082/С76-583400^Bб/у-рег.№ 3023^KУА^VУА^D20160222^1160747^E20160313^GEK^H304DB75F1960000A08F99EEA^Imariavd^F20160511^2154815 40#^A636.082.12(076.5)/і-51-183794^Bб/у-рег.№5767^KУА^VУА^D20160226^1082305^E20160317^GEK^H304DB75F1960000A08F692E6^Imariavd^F20160511^2154759 40#^A577(075.8)/С31-492090^Bбу-рег.№2615^KУА^V*^D20160404^1150725^E20160424^GEK^H304DB75F1960000A08F72294^Imariavd^F20160511^2154750 40#^A636:612(075.8)/Н 50-471396^Bб/у-рег.№5442^KУА^VУА^D20160921^1165613^E20161011^GEK^H304DB75F1960000A08F73B07^Imariavd^F20200821^2121821 40#^A636:612/Н50-172508^E20161123^F20161102^GEK^H304DB75F1960000A08F72D26^D20161102^CЖануарлар физиологиясы; Оқулық^V*^I1^Bб/у-рег.№3416^B 40#^F20200821^D20200821^C02 - Обходной лист (Посещение)^V*^1124813^2124813^Imariavd 130#123As 21#2000 17#44444 32#forsajastana2@gmail.com 101#BG 13#^BБолгария^CАлматы^DОмарова^E134^H3 52#20231106^CЗОО"], "id": 3 } ]
[{"jsonrpc":"2.0","result":true,"id":2},{"jsonrpc":"2.0","error":{"code":-32601,"message":"Метод не найден","data":null},"id":3}]