pmarti / python-messaging

Pure python SMS/MMS encoder/decoder
Other
225 stars 115 forks source link

python-messaging Failed to handle HTTP request #46

Open gatorreina opened 5 years ago

gatorreina commented 5 years ago

I get this error when I follow the encode and send an MMS. My exact code is below.

PROXY RESPONSE HTTP/1.0 200 OK content-type: application/vnd.wap.mms-message content-length: 59 Connection: close Date: Sat, 05 Jan 2019 16:36:44 GMT Server: Mavenir Web Application Server

���1234�����,�Failed to handle HTTP request in Mm1Server

Code used to encode and send:

from messaging.mms.message import MMSMessage, MMSMessagePage

mms = MMSMessage() mms.headers['To'] = '+212XXXXXXX/TYPE=PLMN' mms.headers['Message-Type'] = 'm-send-req' mms.headers['Subject'] = 'Test python-messaging.mms'

slide1 = MMSMessagePage() slide1.add_image('/home/richard/screensaver/TolleConscQte.jpg') slide1.add_text('This first slide, is a step towards enlightenment.')

slide2 = MMSMessagePage() slide2.set_duration(4500) slide2.add_image('/home/richard/screensaver/TollePastALL.jpg', 1500) slide2.add_text('This second slide is a second step towards enlightenment.', 500, 3500)

mms.add_page(slide1) mms.add_page(slide2)

payload = mms.encode()

sending the MMS

from cStringIO import StringIO import socket

gw_host, gw_port = "10.188.239.143", 80 #ting

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((gw_host, gw_port)) s.send("POST %s HTTP/1.0\r\n" % "http://wholesale.mmsmvno.com/mms/wapenc") s.send("Content-Type: application/vnd.wap.mms-message\r\n") s.send("Content-Length: %d\r\n\r\n" % len(payload))

s.sendall(payload)

buf = StringIO()

while True: data = s.recv(4096) if not data: break

buf.write(data)

s.close() data = buf.getvalue() buf.close()

print "PROXY RESPONSE", data

psanford commented 1 year ago

I ran into the same issue. I found I needed to set mms.headers['From'] = '' explicitly so that Insert-address-token got set in the message.

I used this file as a reference to figure out that's what was missing.