2012-06-15 61 views
2

我特林發佈使用httplib2都包含一些XML,並使用該信息集一些二進制數據的HTTP請求:的Python寫的二進制數據MIME信息集

MIME-Version: 1.0 
Content-Type: Multipart/Related;boundary=MIME_boundary; 
... 
--MIME_boundary 
Content-Type: application/xop+xml; 

// [the xml string goes here...] 

--MIME_boundary 
Content-Type: image/png 
Content-Transfer-Encoding: binary 
Content-ID: <http://example.org/me.png> 

// [the binary octets for png goes here...] 

我的方法是生成一個txt文件,然後填入xml和二進制數據。

我有問題寫入二進制數據的文件從這個巴布亞新幾內亞閱讀:

pngfile = open(pngfile, "rb") 
bindata = pngfile.read() 

什麼是做到這一點的最好方法是什麼?

+0

你的方法到底是什麼問題? – schlamar

回答

0

我的建議是使用Python的標準MIME庫,如these examples。 試試用這個:

from email.mime.image import MIMEImage 
from email.mime.base import MIMEBase 
from email.mime.multipart import MIMEMultipart 

msg = MIMEMultipart() 
# Attach XML 
xml = MIMEBase('application','xop+xml') 
xml.set_payload(<xml data here>) 
msg.attach(xml) 

# Attach image 
img = MIMEImage(<image data here>, _subtype='png') 
msg.attach(img) 

# Export the infoset 
print msg.as_string()