Python/Python__works

python response xml self-end tag issue

말하는감자 2019. 9. 20. 16:32

reproduce

python 의 requests로 request 요청

이때 리턴받는 response가 짤려서 들어오는 문제가 있었다

#수많은 옵션과 여러가지 방법을 써보았지만 다 안먹혔기에 기본적인것만 일단 기재...
res = requests.post("주소", data=데이터, headers=헤더)
<root>
	<test>asdf<test/>
    <asdf/>
<root/>

 

여기서 asdf/ 는 오류가 아님(난 xml을 본적이 별로 없어서 오류인줄 ㅠㅠ);;

self-end tag 혹은 self-close tag 라고 부르는데...

태그 안에 데이터가 없는 경우에는 저런식으로 표현해도 된다고 한다.

 

다만 requests 혹은 urllib로 데이터를 받아올때 self-end tag 바로 위까지만 받아온다는 것이다.

즉... 데이터가 중간에 짤립니다 -_-;;;;;;;;;;;;;;;;

 

이것을 해결하기 위해서 3일쯤 시도한것 같은데 결국 해결하지 못했다....

 

해결할 시간이 부족해서 서버에서 curl로 response를 호출한후에 xml 파일을 생성해서 그 파일을 base로 python으로 작업을 수행하고 파일은 쉘스크립트로 지워버림;;;ㅠㅠ...

 

그리고 또 당황스러웠던 점은 xmltodict가 window 환경에서는 pretty하지 않은??? indent 정리를 하지 않은 xml 파일도 무난하게 읽어들였지만 centos 환경에서는 못읽더라능... 씌익씌익 ㅠ_ㅠ;;;;;???????????????

curl로 호출시에 pretty하게 저장해달라고 curl에게 부탁해서 해결을 보았다. 역시 원만한 대화가 모든것의 해결의 장인것 같다.

 

혹시나 나중에 또 잊을까봐 간단하게 정리

'Python > Python__works' 카테고리의 다른 글

문자열 치환하기  (0) 2019.10.11
python으로 데이터 정리하기  (0) 2019.09.23
python으로 xml을 만들어요  (0) 2019.09.20
xml 파일 열어서 dict 변환후에 데이터 만져주기~  (0) 2019.09.20
requests  (0) 2019.09.19