Отправка POST запроса - протокол MM7

docjohn

Новичок
Отправка POST запроса - протокол MM7

Всем привет.

Пытаюсь отправить сообщение по ММ7 с помощью CURL.
Для начала - вот мое сообщение:
---------------------------------------------------------------
POST /mm7 HTTP/1.1
Content-Type: multipart/related;boundary=---mime-boundary-00004DF5.00005BF5---;start=<mm7_msg>;Type=text/xml //mime_part_header
Content-Type: text/xml; charset=utf-8 //mime_part_header
Content-ID: <mm7_msg>

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<mm7:TransactionID xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-2" env:mustUnderstand="1" >blablabla</mm7:TransactionID>
</env:Header>
<env:Body>
<mm7:SubmitReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-2" >
<mm7:MM7Version>6.5.0</mm7:MM7Version>
<mm7:SenderIdentification>
<mm7:VASPID>blablabla</mm7:VASPID>
<mm7:VASID>blablabla</mm7:VASID>
<mm7:SenderAddress>
<mm7:ShortCode>blablabla</mm7:ShortCode>
</mm7:SenderAddress>
</mm7:SenderIdentification>
<mm7:Recipients>
<mm7:To>
<mm7:Number>blablabla</mm7:Number>
</mm7:To>
</mm7:Recipients>
<mm7:MessageClass>Personal</mm7:MessageClass>
<mm7:DeliveryReport>False</mm7:DeliveryReport>
<mm7:ReadReply>False</mm7:ReadReply>
<mm7:priority>Normal</mm7:priority>
<mm7:Subject>MMS Message</mm7:Subject>
<mm7:Content href="cid:mms_cid" />
</mm7:SubmitReq>
</env:Body>
</env:Envelope>

Content-Type: multipart/related;
boundary=---mime-boundary-00004121.0000637E---;
start=<21D63E1C.smil>;
Type=application/smil //mime_part_header
Content-ID: <mms_cid>


Content-Type: application/smil;
charset=utf-8;
name=21D63E1C.smil //mime_part_header
Content-ID: <21D63E1C.smil>
Content-Location: 21D63E1C.smil

<smil>
<head>
<layout>
<region id="Image" height="100%" width="100%" fit="meet" />
<region id="Text" height="100%" width="100%" fit="scroll" />
</layout>
</head>
<body>
<par dur="5s">
<text src="21D5E830.txt" />
</par>
</body>
</smil>

Content-Type: text/plain //mime_part_header
Content-ID: <21D5E830.txt>
Content-Location: 21D5E830.txt

Hello World!!!

-------------------------------------------------

Вот код, которым я это отправляю:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, ТЕКСТ_ПОСТ_ЗАПРОСА);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$res=curl_exec($ch);
curl_close($ch);

Но в сниффере почему-то к моему сообщению сверху добавляется заголовок:
POST /mm7 HTTP/1.1
Content-Type: application/x-www-form-urlencoded //mime_part_header

и дальше идет мое сообщение.

С КУРЛ-ом перепробовал уже всё.
Видимо что-то еще не додумал.

Как убрать этот заголовок?
 

tz-lom

Продвинутый новичок
попробуйте обнулять CURLOPT_HTTPHEADER в нужное вам значение
так же можете контролировать вывод заголовков при помощи CURLOPT_HEADERFUNCTION
 

docjohn

Новичок
Не помогает.
Уже ставил $headers=array();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
И все-равно тоже самое.

В мануале КУРЛа написано:
CURLOPT_POST TRUE to do a regular HTTP POST.
This POST is the normal application/x-www-form-urlencoded kind, most commonly used by HTML forms.

Вот он сам и подставляет этот заголовок.

Задача-то несложная - передавать именно то, что я вручную формирую без всяких там авто-добавлений.
 

tz-lom

Продвинутый новичок
строго говоря курл реализует только те протоколы которые в нём написаны,если хотите что то большее - открыть сокет и читать/писать в него не так и сложно
 
Сверху