카카오스토리 링크 정보 얻기에서 버그가 있는거 같습니다

링크 정보 얻기를 시행하는 도중 인코딩 문제로 버그가 발생하는것으로 보여 문의를 드립니다.

일단 저희 서비스 url로 urlencode를 안한체로 요청하면
http://in-moa.com/catalog.php?e=y3GvXPPRSY3SsDqAZdatz%2Bz0qPJ0yZ6uTVd18a0dySs%3D

{
  "code": -604,
  "msg": "invalid story scrap url: http://in-moa.com/catalog.php?e"
}

위와 같이 쿼리의 e뒷부분이 잘려서 처리가 되는거 같습니다.

그리하여 encode를 하고 요청했더니 개발 테스트 쪽에서 일부 url이 문제가 발생하네요…
정상 작동하는 url 예시.
url : http://test.in-moa.com/catalog.php?e=sssjt%2FAt2R3HKo%2FPKrjqQaGR93Adur%2FwQNoTDw%2FqfTo%3D
url decode : http%3A%2F%2Ftest.in-moa.com%2Fcatalog.php%3Fe%3Dsssjt%252FAt2R3HKo%252FPKrjqQaGR93Adur%252FwQNoTDw%252FqfTo%253D

{
  "url": "http://test.in-moa.com/catalog.php?e=sssjt/At2R3HKo/PKrjqQaGR93Adur/wQNoTDw/qfTo=",
  "host": "test.in-moa.com",
  "title": "제주감귤파이2호",
  "image": [
    "http://dn-l0-story.kakao.co.kr/dn/bMUrDZ/hyclAVZJZW/EbmYyY0hPwngAShuKjRhr1/img.jpg?height=343&width=450"
  ]
}

문제가 되는 url 예시.
url : http://test.in-moa.com/catalog.php?e=baqlUkfmv6%2BnbBRCjTLcol%2BJwfTlrY9NH9YoEs7Y9Mo%3D
url decode : http%3A%2F%2Ftest.in-moa.com%2Fcatalog.php%3Fe%3DbaqlUkfmv6%252BnbBRCjTLcol%252BJwfTlrY9NH9YoEs7Y9Mo%253D

{
  "code": -604,
  "msg": "invalid story scrap url: http%3A%2F%2Ftest.in-moa.com%2Fcatalog.php%3Fe%3DbaqlUkfmv6%252BnbBRCjTLcol%252BJwfTlrY9NH9YoEs7Y9Mo%253D"
}

또한 80포트가 아닌 다른 포트로 테스트 할경우에 타임아웃이 발생하네요…

{
  "code": -603,
  "msg": "Timed out in getting link information from url"
}

urldecode쪽에 문제가 있거나 url 파싱부분에서 문제가 있는거 같습니다.
확인 부탁 드립니다.

— 3:45pm 수정.
저희가 테스트 후에 외부접근을 막아둬서 외부에서 접근이 안되어 테스트가 안되고 있었을거 같습니다.
현재 다시 외부에서 접근이 되게 설정해두었습니다.

1개의 좋아요

해당문제는 어떻게 진행되고 있는건가요?

안녕하세요.

  1. URL 파싱 오류
    현재 URL 오류가 발생하는 이유에 대해서는 파악이 되었고(해당 query string 에서 e 의 값이 = 로 끝나게 되는데 이 값을 링크 정보 얻기에서 decode 를 해서 사용하게 되어서 =를 그대로 전달하게 되어서 발생하는 이슈로 파악되었습니다. 현재 해결 방안에 대해서 고민하고 있습니다. 수정이 되면 공유드리도록 하겠습니다.

  2. 80번 포트 이외에 관련된 이슈.
    현재 80, 443 이외에는 링크 정보 얻기 정책상 지원이 되지 않습니다.

답변이 늦어서 죄송합니다. 감사합니다.

2개의 좋아요

말씀하신대로 url encode/decode문제로 보이는데…
해당 현상은 네이버 단축url로 한번 변경하고 요청해도 발생하더군요,

저희쪽에서는 저희쪽 url체계를 변경하는쪽으로 수정중이나 한번 체크해보시는게 좋을거 같습니다.

그냥 base64를 이용하셔서 문제가 되는 것으로 파악을 하고 있는데…
Url Safe 한 base64를 쓰시면 해결될것이라고 예상됩니다.

Url Safe Base64는 기존 결과에서 =로 쓰이는 패딩을 제거하고

  • → -, / → _ 등으로 변경한 것입니다. +,/ 가 URL에서 이미 쓰이고 있어서 그렇습니다.
2개의 좋아요