DataPrime: URL 디코딩/인코딩
이 가이드에서는 URL 인코딩 및 디코딩을 위한 IBM® Cloud Logs DataPrime URL 함수에 대한 용어집을 제공합니다.
urlDecode 및 urlEncode 함수와 메서드 표기법을 지원합니다.
urlEncode
urlEncode 을 사용하여 문자를 인터넷을 통해 전송할 수 있는 형식으로 변환합니다.
인터넷을 통해 URL 을 보내려면 URL 을 ASCII 문자 집합을 사용하여 설정해야 합니다. 예를 들어 문자 집합을 인코딩하고 빈 공백을 %20 으로 바꿔야 할 수 있습니다.
기능
urlEncode(string: string): string
예를 들어 다음 샘플을 사용하여 함수를 사용하여 query_string_parameters.name 값을 인코딩할 수 있습니다:
replace query_string_parameters.name with urlEncode(query_string_parameters.name)
메소드
string: string.urlEncode(): string
예를 들어 다음 샘플을 사용하여 메서드를 사용하여 query_string_parameters.name 값을 인코딩할 수 있습니다:
replace query_string_parameters.name with query_string_parameters.name.urlEncode()
urlDecode
urlDecode 을 사용하여 URL 을 사용자 친화적인 형식으로 변환합니다.
기능
urlDecode(string: string): string
예를 들어 다음 샘플을 사용하여 함수를 사용하여 query_string_parameters.name 값을 디코딩할 수 있습니다:
replace query_string_parameters.name with urlDecode(query_string_parameters.name)
메소드
string: string.urlDecode(): string
예를 들어 다음 샘플을 사용하여 메서드를 사용하여 query_string_parameters.name 값을 디코딩할 수 있습니다:
replace query_string_parameters.name with query_string_parameters.name.urlDecode()
예시: URL 헤더 매개변수를 JSON 객체로 변환하고 URL 디코딩하기
다음 로그 행을 고려하세요:
{
"domain": "https://www.ibm.com",
"path": "/home",
"query_string": "name=My%20Name&b=c%20d&c=d"
}
먼저 각 쿼리 문자열 매개변수를 고유한 개체 필드로 추출합니다.
extract query_string into query_string_parameters using kv(pair_delimiter='&',key_delimiter='=')
결과 문서는 다음과 같습니다:
{
"domain":"https://www.ibm.com",
"query_string":"name=My%20Name&b=c%20d&c=d",
"path": "/home",
"query_string_parameters":{
"name":"My%20Name",
"b":"c%20d",
"c":"d"
}
}
그런 다음 query_string_parameters.name 을 해독하고 %20 을 빈 공간으로 바꿉니다. replace 을 사용하여 기존 필드를 새 필드로 덮어쓰고 기존 키 경로의 값을 새 키 경로로 덮어씁니다.
replace query_string_parameters.name with urlDecode(query_string_parameters.name)
replace query_string_parameters.b with urlDecode(query_string_parameters.b)
그 결과 다음 문서가 생성됩니다:
{
"domain":"https://www.ibm.com",
"query_string":"name=My%20Name&b=c%20d&c=d",
"path": "/home",
"query_string_parameters":{
"name":"My name",
"b":"c d",
"c":"d"
}
}