예제를 따라하면 제 경우에는 한글이 깨집니다.
data = "subject=" + subject + "&content=" + content
request = urllib.request.Request(url, data=data.en
엄청 삽질하다가 결국 찾았습니다.
위에처럼 하면 안되고
아래처럼 해주면 잘 됩니다.
from urllib.parse import urlencode
data = urlencode({'subject': subject, 'content': content}).encode()
request = urllib.request.Request(url, data=data)
아래는 naver developers에서 제공하는 샘플코드입니다.
# 네이버 카페 Open API 예제 - 글쓰기
import os
import sys
import urllib.request
token = "YOUR_ACCESS_TOKEN"
header = "Bearer " + token # Bearer 다음에 공백 추가
clubid = "CLUB_ID" # 카페의 고유 ID값
menuid = "MENU_ID" # (상품게시판은 입력 불가)
url = "https://openapi.naver.com/v1/cafe/" + clubid + "/menu/" + menuid + "/articles"
subject = urllib.parse.quote("[subject] 네이버 Cafe api Test Python")
content = urllib.parse.quote("[content] 네이버 Cafe api Test Python")
data = "subject=" + subject + "&content=" + content
request = urllib.request.Request(url, data=data.encode("utf-8"))
request.add_header("Authorization", header)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
print(response_body.decode('utf-8'))
else:
print("Error Code:" + rescode)
반응형
'엔지니어' 카테고리의 다른 글
[MYSQL] Join 치트쉬트 (9) | 2017.09.11 |
---|---|
[Maria DB] query에 "(double quotation mark)가 있으면 에러 발생 현상 (1297) | 2017.09.08 |
.vimrc 설정하기 (set) (10) | 2017.04.25 |
.vimrc 설정하기 (10) | 2017.04.24 |
AS와 S-CSCF간 연동 모드 (10) | 2017.04.24 |