1
我想要做的是使用wp.uploadFile xmlrpc方法將圖片上傳到wordpress。 要做到這一點,在PHP中有一個例子:https://stackoverflow.com/a/8910496/1212382 我想在python中做同樣的事情,但我不知道如何。 任何任何想法?你在Python中如何使用IXR_Base64?
我想要做的是使用wp.uploadFile xmlrpc方法將圖片上傳到wordpress。 要做到這一點,在PHP中有一個例子:https://stackoverflow.com/a/8910496/1212382 我想在python中做同樣的事情,但我不知道如何。 任何任何想法?你在Python中如何使用IXR_Base64?
好的,答案在於xmlrpclib類。 爲Base64位從蟒蛇發送到WordPress,你需要使用的xmlrpclib類,像這樣:
base64bits = xmlrpclib.Binary(file_content)
然後你只需要添加變量的「位」參數base64bits在wp.uploadFile XMLRPC請求。
要多一點確切的說,這裏是在python的完整代碼的這個應該怎麼做:
import xmlrpclib
import urllib2
from datetime import date
import time
def get_url_content(url):
try:
content = urllib2.urlopen(url)
return content.read()
except:
print 'error! NOOOOOO!!!'
file_url = 'http://the path to your picture'
extension = file_url.split(".")
leng = extension.__len__()
extension = extension[leng-1]
if (extension=='jpg'):
xfileType = 'image/jpeg'
elif(extension=='png'):
xfileType='image/png'
elif(extension=='bmp'):
xfileType = 'image/bmp'
file = get_url_content(file_url)
file = xmlrpclib.Binary(file)
server = xmlrpclib.Server('http://website.com/xmlrpc.php')
filename = str(date.today())+str(time.strftime('%H:%M:%S'))
mediarray = {'name':filename+'.'+extension,
'type':xfileType,
'bits':file,
'overwrite':'false'}
xarr = ['1', 'USERHERE', 'PASSWORDHERE', mediarray]
result = server.wp.uploadFile(xarr)
print result