티스토리 뷰
안녕하세요 종백이 입니다😎
최근에 네이버 커머스 API 가 오픈하면서 스마트 스토어에 필요한 기능들을 사용해 볼 수 있게 되었습니다!
스마트 스토어 판매자로서 아주 좋은 소식이네요 ㅎㅎ 하나하나 연동을 다 하는 중에 상품 이미지 다건 등록에서 이미지를 서버에 보내야 하는 것을 발견했습니다!
보통 서버로 전송하는 것들은 json 형태나 문자열 형식의 무언가였는데 이미지를 보내라고 하네요..? 설명도 없고 어떻게 하라는지 몰라서 아주 난처했습니다 ㅎㅎ
하지만! 우리의 친구 stackover flow는 모든 것을 알고 있었습니다 ㅎㅎ 제가 참고한 글은 바로 아래 글입니다!
네이버 python 샘플 코드에서는 아래와 같은 알 수 없는 문자열을 전송하라고 되어있고 그나마 있는 짧은 설명에도 보내는 타입이 Array of strings <binary>로 되어있습니다.
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"imageFiles\"\r\n\r\n[\"string\"]\r\n-----011000010111000001101001--\r\n\r\n"
그래서 이미지를 numpy를 이용해 이진법으로 보내야 하나 생각하던 중 stackoverflow에서 file을 보내는 방법을 찾았습니다.
그래서 file을 어떻게 보내느냐! 간단히 설명을 해드리면 open함수를 이용해 이미지를 열어서 type을 적어 보내면 가능했습니다. 아래는 stackoverflow에 나온 예시입니다 ㅎㅎ
files = {'upload_file': ('foobar.txt', open('file.txt','rb'), 'text/x-spam')}
이런 방식으로 여러 이미지를 보내는 방법은 아래와 같습니다!
files = {
f"imageFiles{[0]}":("image1.JPG",open(r"image1주소\image1.jpg","rb"),'image/jpeg'),
f"imageFiles{[1]}":("image2.JPG",open(r"image2주소\image2.jpg","rb"),'image/jpeg')
}
이렇게 여러 건의 이미지를 requests.post를 이용해 보낸다면 200 code를 전달받을 수 있습니다 ㅎㅎ
res = requests.post(url,headers=headers,files=files)
잘 아시는 분들에겐 간단하지만 처음 겪어서 엄청난 시간을 들였네요 ㅎㅎ 부디 이 글을 보시는 분들은 바로 해결하시길 바랍니다 ㅎㅎ
글의 내용이 도움이 되셨다면 좋아요 부탁드려요 ㅎㅎ
감사합니다!
'독학 > python' 카테고리의 다른 글
[파이썬] cx_freeze pyinstaller 실행 파일 배포 .exe 만들기: on console 'NoneType' object has no attribute write error 해결 방법 (0) | 2023.04.12 |
---|---|
[파이썬] requests 모듈을 사용한 python동적크롤링 따라하기 (0) | 2023.03.12 |
[파이썬] 셀레니움 동적 크롤링 웹 자동화 python selenium example (0) | 2023.01.23 |
[파이썬] selenium 또는 requests를 이용한 동적 크롤링 python crawling (0) | 2022.11.12 |
- Total
- Today
- Yesterday
- javascript
- 파이썬실전
- 네이버커머스api
- 주식시장거품
- 수부지추천
- GRBL
- 파이썬셀레니움
- selenium
- 웹앱독학
- 자바스크립트독학
- 브리타정수기
- 경매동향
- JS독학
- 파이썬
- javascript독학
- 주식종목
- 책리뷰
- 주식독학
- 그림독학
- flutter네이버커머스api
- 주식분석
- 인플레이션
- 경매참고자료
- 프로그래밍독학
- 상위노출프로그램
- 파이썬독학
- 눈시림없는선크림
- 제로이드
- CNC업그레이드
- 책추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |