Я отправляю следующие данные с помощью HTTP-запроса:
{
"id": "a",
"jsonrpc": "2.0",
"method": "addJsonEvent",
"params": {
"common_fields": {
"source_hwid": "${HWID}",
"api_key": "${custid}"
},
"data": ["{ \"parent_process_path\": \"C:\\\\disk2\\\\process.exe\", \"command_line\": \"\\\"C:\\\\Windows\\\\Microsoft.NET\\\\Framework\\\\v4.0.30319\\\\ngen.exe\\\" uninstall \\\"C:\\\\Windows\\\\assembly\\\\NativeImages_v4.0.30319_32\\\\Microsoft.W2d29a719#\\\\fdb201638092fc8d1310350e099eba45\\\\Microsoft.Windows.DSC.CoreConfProviders.ni.dll\\\" /noroot /LegacyServiceBehavior\", \"api_key\": \"${custid}\" }"]
}}
Глядя на View Results Tree
, я вижу, что отправлены следующие данные:
{
"id": "a",
"jsonrpc": "2.0",
"method": "addJsonEvent",
"params": {
"common_fields": {
"source_hwid": "560ade69-808e-18a4-7d2a-123-123456000001",
"api_key": "5a9fb2311da1972e6c8b4567"
},
"data": ["{ \"parent_process_path\": \"C:\\disk2\\process.exe\", \"command_line\": \"\\"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\ngen.exe\\" uninstall \\"C:\\Windows\\assembly\\NativeImages_v4.0.30319_32\\Microsoft.W2d29a719#\\fdb201638092fc8d1310350e099eba45\\Microsoft.Windows.DSC.CoreConfProviders.ni.dll\\" /noroot /LegacyServiceBehavior\", \"api_key\": \"5a9fb2311da1972e6c8b4567\" }"]
}}
Фактически отправленные данные больше не являются действительным JSON.
Есть ли способ отправить данные как есть, не экранируя эти символы?
Нет, я не могу удалить экранирование, потому что обработка на стороне сервера не будет работать. Единственное, что я нашел, что работает, - это двойной escape (escape-escape - это смысл), но это немного странно.
Вы придумали, как это решить?
@AbhishekAsthana Мне удалось заставить его работать двойным экранированием там, где это необходимо. В качестве наблюдения, если данные запроса не содержат переменных ("$ {HWID}"), тело запроса больше не экранируется.
Я решил эту проблему, прочитав файл, обработав его и загрузив в переменную для отправки с помощью сэмплера HTTP-запросов. Мы должны выложить наши решения, чтобы следующий человек не чесал в затылке :)
Вы добавили побег, не могли бы вы убрать побег?