한글이 아니고, 영문임에도 WebResponse의 데이터가 깨져서 들어오는 경우가 종종있다. Fiddler 와 같은 웹 프록시툴을 켜둔 상태일 때는 잘 들어오는 것으로 보아, 헤더상의 문제는 아닌 것을 알 수 있다. 

원인은 압축된 채로 데이터가 전달되어 나타나는 현상이다.

대개 웹 응답데이터는 gzip 압축 상태로 전달되며 브라우저는 자동으로 이를 해제하여 렌더링하기 때문에 느끼지 못하지만, 코딩 환경에서는 엄격하게 구분 할 필요가 있다. 상대방의 서버 응답에 따라서 자동으로 처리해주기도 한다.


예)

HttpWebRequest u = new HttpWebRequest.CreateHttp("http://~~~");

u.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;



WebRequest(혹은 HttpWebRequest)를 이용해서 페이지를 요청했을 때 301 코드로 인해 다른 페이지로 리다이렉트되는 경우, WebResponse 찍어보면 최종 리다이렉트 된 페이지의 내용이 나타난다. 

리다이렉트 이전에 나타나는 페이지 내용이나 헤더 값을 가져와야 하는 상황이라면 난감할텐데, 

HttpWebRequest.AllowAutoRedirect 속성을 false 로 설정하면 리다이렉트가 되는 것을 방지한다.


예)

HttpWebRequest u = new HttpWebRequest.CreateHttp("http://~~~");

u.AllowAutoRedirect = false;


'Programming (F:\) > F:\> C, C++' 카테고리의 다른 글

WebResponse의 Stream 데이터 깨짐 문제  (0) 2018.02.17

아마존에서 한국주소로 상품을 배송시켰다면 배송사에 따라 개인통관부호를 요구합니다.

그 중, 한국 배송을 가장 많이 담당하고 있는 아이파슬(i-Parcel) 의 개인통관부호 입력 방법을 알아보고자 합니다. 

i-Parcel의 경우 아마존에 등록된 이메일을 통해 입력 폼(Form)을 제공하는데, 

만약 이메일을 잘 확인하지 않는 사용자라면 장기간 입력하지 못할 수 있습니다. 

문제는 10일이 지나면 다시 아마존으로 상품이 반송되니 꼭꼭 확인해주셔야 합니다. 


개인통관부호 발급 및 조회 업무는

https://unipass.customs.go.kr/csp/persIndex.do

위 페이지에서 가능합니다. 



주문하고 운송장 번호가 나오면 하루 이내에 다음과 같은 이메일이 수신됩니다. 

첫번째 'here' 을 클릭합니다. 





입력 폼이 나타나면, 주문 내역(Product Details)과 이미 입력된 정보들이 맞는지 확인하시고 

RRN 항목에 개인통관부호를 입력해주신 뒤, 하단에 'Submit Info' 버튼을 클릭하시면 됩니다. 

+ Recent posts