<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Datagokr on plzhans blog</title><link>https://blog.plzhans.com/tags/datagokr/</link><description>Recent content in Datagokr on plzhans blog</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Wed, 16 Sep 2026 14:55:00 +0000</lastBuildDate><atom:link href="https://blog.plzhans.com/tags/datagokr/index.xml" rel="self" type="application/rss+xml"/><item><title>공공데이터포털 API 400 오류 - 헤더에 environment 가 있으면 거부한다</title><link>https://blog.plzhans.com/posts/130-data-go-kr-400-invalid-request-parameter-error/</link><pubDate>Wed, 16 Sep 2026 14:55:00 +0000</pubDate><guid>https://blog.plzhans.com/posts/130-data-go-kr-400-invalid-request-parameter-error/</guid><description>&lt;p&gt;&lt;a href="https://blog.plzhans.com/posts/130-data-go-kr-400-invalid-request-parameter-error/assets/1_3dd22a0f-7e83-8111-9893-f6ccdf4c2ddc.jpg" data-pswp-width="1376" data-pswp-height="768" target="_blank" rel="noopener" aria-label="data.go.kr 의 WAF 가 헤더 값의 environment= 패턴을 보고 요청을 차단해 400 을 돌려주는 모습"&gt;&#10; &lt;picture&gt;&#10; &lt;source srcset="https://blog.plzhans.com/posts/130-data-go-kr-400-invalid-request-parameter-error/assets/1_3dd22a0f-7e83-8111-9893-f6ccdf4c2ddc_hu_32215b36b1ec2d4f.webp" type="image/webp"&gt;&#10; &lt;img src="https://blog.plzhans.com/posts/130-data-go-kr-400-invalid-request-parameter-error/assets/1_3dd22a0f-7e83-8111-9893-f6ccdf4c2ddc_hu_ecdd0b28d65c4e4.jpg" alt="data.go.kr 의 WAF 가 헤더 값의 environment= 패턴을 보고 요청을 차단해 400 을 돌려주는 모습" width="1200" height="670" loading="lazy"&gt;&#10; &lt;/picture&gt;&#10; &lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="개요"&gt;개요&lt;/h2&gt;&#10;&lt;p&gt;공공데이터포털(data.go.kr) API 를 부르는 배치가 어느 날부터 한 건도 성공하지 못했다. 응답은 HTTP 400 이고 메시지는 INVALID_REQUEST_PARAMETER_ERROR 였다. 그런데 같은 URL 을 curl 로 부르면 200 이 돌아왔다.&lt;/p&gt;&#10;&lt;p&gt;원인은 파라미터가 아니라 헤더였다. data.go.kr 은 헤더 값에 environment= 이라는 문자열이 있으면 거부한다. 헤더 이름은 무엇이든 상관이 없다. 그 헤더를 넣은 것은 Sentry 였다. 분산 추적이 나가는 요청마다 baggage 를 얹는다.&lt;/p&gt;</description></item></channel></rss>