Я настраиваю небольшой веб-сервис (локальная локальная сеть) для печати некоторых данных на термопринтере Epson с ePOS. У них есть отличная документация о том, как отправить XML-запрос из JavaScript, но моя проблема в том, что я хочу, чтобы сервер печатал данные из базы данных, поэтому в нем нет javascript.
Мне нужно «перевести» этот JavaScriptк php, где req
- это запрос:
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
xhr.setRequestHeader('If-Modified-Since', 'Thu, 01 Jan 1970 00:00:00 GMT');
xhr.setRequestHeader('SOAPAction', '""');
xhr.onreadystatechange = function () {
// Receive response document
if (xhr.readyState == 4) {
// Parse response document
if (xhr.status == 200) {
alert(xhr.responseXML.getElementsByTagName('response') [0].getAttribute('success'));
}
else {
alert('Network error occured.');
}
}
};
xhr.send(req);
Я уже пробовал это:
$opts = array('http' =>
array(
'method' => 'POST',
'header' => ["Content-type: text/xml; charset=utf-8", "If-Modified-Since: Thu, 01 Jan 1970 00:00:00 GMT", "SOAPAction: ''"],
'content' => $content
)
);
# Create the context
$context = stream_context_create($opts);
# Get the response (you can use this for GET)
$result = file_get_contents($url, false, $context);
Но, похоже, не работает.
Я попробую с curl , но почему-то я не понимаю, как правильно установить заголовки и как отправлять данные ...
Может кто-нибудь помочь мне