All Apps and Add-ons

Why is the REST API modular input response xml data charset is broken?

leeyounsoo
Path Finder

Hi,
i have a problem with the character set.

I am using the REST API modular input.
However, characters are broken in the xml data received in response through the REST API.
like this:

<?xml version="1.0" encoding="UTF-8"?>
<tag1>
<![CDATA[ìœ ì˜ë¯¸ì˜ 마음은 ì–¸ì œë‚˜ 청춘]]>
</tag1>

I tried this thing:

  1. modify props.conf

    [sourcetype]
    CHARSET = UTF-8

  2. modify responsehandler.py

    coding: utf-8
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')

    import json
    import datetime

    class MyResponseHandler:

    def __init__(self,**args):
        pass
    
    def __call__(self, response_object,raw_response_output,response_type,req_args,endpoint):
        cookies = response_object.cookies
        if cookies:
            req_args["cookies"] = cookies
        raw_response_output.encode('utf-8')
        print_xml_stream(raw_response_output)
    

    ....(skip)
    what should I do?

0 Karma

asohahn_splunk
Splunk Employee
Splunk Employee

It seems like your broken text is encoded with iso-8859-1(Latin1). Is the first line of your responsehandler.py "coding: utf-8" just a typo? It should be something like "#-- coding: utf-8 --".

0 Karma

leeyounsoo
Path Finder

that is a typo.
splunk answer comment form automatically change that String.

i write like this :
"# -- coding : utf-8 --"

but, that is broken yet.

  • my python version is 2.7.x
0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Manage Edge Processor pipelines end to end with APIs

This guide uses the Data Management APIs to create an Edge Processor, onboard one instance, deploy a pipeline ...

Splunk Brings Proof of Control to Digital Asset Transfers

Digital assets now sit inside the core of financial services. HSBC launched its Tokenized Deposit Service in ...

Manage Ingest Processor pipelines end to end with APIs

This guide uses the Data Management APIs to create an Ingest Processor pipeline, deploy it to the ...