|
15.09.2020, 13:58 | #1 |
Участник
|
В итоге сделал с помощью System.Net.HttpWebRequest и System.Net.HttpWebResponse:
'url_address' - адрес сервиса dadata, к которому обращаемся, 'queryTxt' - текст запроса, который отправляем, responseData - ответ сервиса. Может, кому пригодится X++: System.Net.HttpWebRequest webRequest; System.Net.HttpWebResponse webResponse; System.Exception ex; System.Exception webException; System.IO.Stream stream; System.IO.StreamReader streamReader; System.Byte[] bytes; System.Net.WebHeaderCollection headers; str responseData; System.Text.UTF8Encoding encoding; ; new InteropPermission(InteropKind::ClrInterop).assert(); webRequest = System.Net.WebRequest::Create('url_address') as System.Net.HttpWebRequest; //Создаём коллекцию заголовков и задаём реквизиты доступа headers = new System.Net.WebHeaderCollection(); //api ключ headers.Add("Authorization: Token " + apiKey); //секретный ключ headers.Add("X-Secret: " + secretKey); //устанавливаем параметры запроса webRequest.set_Headers(headers); webRequest.set_Method('POST'); webRequest.set_ContentType('application/json'); webRequest.set_Accept('application/json'); webRequest.set_Timeout(10000); //указываем кодировку запроса encoding = new System.Text.UTF8Encoding(); bytes = encoding.GetBytes('queryTxt'); webRequest.set_ContentLength(bytes.get_Length()); stream = webRequest.GetRequestStream(); stream.Write(bytes, 0, bytes.get_Length()); stream.Close(); webResponse = webRequest.GetResponse(); stream = webResponse.GetResponseStream(); streamReader = new System.IO.StreamReader(stream); responseData = streamReader.ReadToEnd(); streamReader.Close(); stream.Close(); CodeAccessPermission::revertAssert(); |
|
|
За это сообщение автора поблагодарили: vitart (1), alicedr (1). |
Теги |
ax2012r3, dadata.ru, интеграция |
|
|