웹페이지 운영/워드프레스

워드프레스 API 호출시 "OSError: unsupported XML-RPC protocol" 문제 해결 방법

공무원 봉급 2022. 5. 20. 05:02

2022.05.19 - [워드프레스] - 워드프레스 API로 getPosts 실행시 AttributeError: module 'collections' has not attribute 'Iterable' 에러 발생시 조치 방법

워드프레스 API를 통해서 블로그 자동화를 구성하고 있습니다. 잘 동작하던 파이썬 스크립트를 조금 수정했는데 아래와 같은 "OSError: unsupported XML-RPC protocol"이라는 에러 메시지를 토해내면서 수행되지 않는 것입니다. 

처음에 가장 먼저 의심했던 것은 패키지 설치가 덜 되었거나 필요한 모듈이 없는게 아닌가 의심했습니다. 하지만 살펴보니 의외로 간단하게 해결할 수 있었습니다. 

 

문제의 에러 메시지

Traceback (most recent call last):
  File "./getPosts.py", line 28, in <module>
    getPosts(auths[0], auths[1], auths[2])
  File "./getPosts.py", line 14, in getPosts
    client = Client(url, id, pw)
  File "/home/user/.local/lib/python3.8/site-packages/wordpress_xmlrpc/base.py", line 23, in __init__
    self.server = xmlrpc_client.ServerProxy(url, allow_none=True, transport=transport)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1419, in __init__
    raise OSError("unsupported XML-RPC protocol")
OSError: unsupported XML-RPC protocol

 

문제의 원인

살펴보니 getPosts API 호출을 위해서 사용자 인증을 할 때 넣어주는 URL의 형식이 잘못된 것이었습니다. 

def getPosts(url, id, pw):
  client = Client(url, id, pw) 

  postList = client.call(posts.GetPosts())

 

문제 해결

URL 형식은 단순한 웹페이지의 주소 뿐만 아니라 프로토콜까지 넣어줘야 하는데, 제가 이것을 누락했던 것이었습니다. 

잘못된 사용 예 client = Client( "www.webpage.com", "id", "pw")
올바른 사용 예 client = Client( "https://www.webpage.com", "id", "pw")

 

링크

아래는 워드프레스 API를 통해 블로그 자동화를 구현하면서 만났던 문제들에 대해서 작성한 글들입니다. 

2022.05.18 - [워드프레스] - 워드프레스 API "PHP의 XML 확장이 가능하지 않습니다. 호스팅 회사에게 연락하여 PHP의 XML 확장을 활성화하세요."

 

워드프레스 API "PHP의 XML 확장이 가능하지 않습니다. 호스팅 회사에게 연락하여 PHP의 XML 확장을

본 페이지에서는 워드프레스의 API로 호출시에 "PHP의 XML 확장이 가능하지 않습니다. 호스팅 회사에게 연락하여 PHP의 XML 확장을 활성화하세요."라는 에러 메시지가 발생할 경우 조치하는 방법에

worldclassproduct.tistory.com

2022.05.18 - [워드프레스] - 워드프레스 Error ( -32300 ) : transport error - HTTP status code was not 200 해결 방법

 

워드프레스 Error ( -32300 ) : transport error - HTTP status code was not 200 해결 방법

새로운 분야에 도전을 한다는 것은 항상 가슴 뛰는 일이지만 괴로운 일이기도 합니다. 요즘 워드프레스 웹서버를 구성했고, API를 이용해서 블로그 자동화를 진행중에 있습니다. 이 과정에서 배

worldclassproduct.tistory.com

2022.05.19 - [워드프레스] - 워드프레스 API를 통한 자동 글쓰기 예제 (파이썬 버전)

 

워드프레스 API를 통한 자동 글쓰기 예제 (파이썬 버전)

블로그 자동화를 위해서는 네이버 블로그나 티스토리 블로그로는 한계가 있습니다. 하루에 발행할 수 있는 글의 개수에 제한이 있기 때문입니다. 그래서 GitHub Pages나 워드프레스로 블로그를 옮

worldclassproduct.tistory.com

2022.05.19 - [워드프레스] - 워드프레스 API로 getPosts 실행시 AttributeError: module 'collections' has not attribute 'Iterable' 에러 발생시 조치 방법

 

워드프레스 API로 getPosts 실행시 AttributeError: module 'collections' has not attribute 'Iterable' 에러 발생시 조

본 페이지에서는 워드프레스 API를 통해서 getPosts 실행시에 AttributeError: module 'collections' has not attribute 'Iterable' 에러가 발생할 경우 조치하는 방법에 대해서 설명합니다. 워드프레스 API와 get..

worldclassproduct.tistory.com

 

이상입니다.