Сразу говорю, что запрос для внутренней сети и у других он работать не будет.
Необходимо сделать POST запрос с телом. В FAQ почитал тему Как отправить POST-запрос
В результате пытаюсь получить данные таким образом
Содержимое 1.txt
В ответ ничего не приходит, msgbox отображается пустой, а должен приходить XML файл.
Что не так в запросе?
Необходимо сделать POST запрос с телом. В FAQ почитал тему Как отправить POST-запрос
В результате пытаюсь получить данные таким образом
Код:
$Link='http://wibsmanufacturing.dl:8083/ManufacturingService.svc'
$Body=FileRead('1.txt')
$oRequest = ObjCreate('WinHttp.WinHttpRequest.5.1') ;Создаём COM-объект
If @error Then
MsgBox(16, 'Ошибка', 'Ошибка при создании объекта "WinHttp.WinHttpRequest.5.1".')
Exit 1
EndIf
$oErrorHandler = ObjEvent('AutoIt.Error', 'ErrorFunc') ;Создаём обработчик ошибок (COM Error Handling http://www.autoitscript.com/autoit3/docs/intro/ComRef.htm)
Func ErrorFunc()
MsgBox(16, 'Ошибка', $oErrorHandler.description)
Exit 2
EndFunc
$oRequest.Open('POST', $Link, 0) ;Создаём соеденение, указываем адрес страницы
$oRequest.SetRequestHeader('User-Agent', 'au3browser') ;Указываем заголовок User-Agent
$oRequest.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded') ;Указываем заголовок Content-Type (необходимо для POST-запроса (Content-Length указывается автоматически))
$oRequest.Send($Body) ;отправляем запрос
$sData = $oRequest.ResponseText
$oErrorHandler = 0 ;выключаем обработчик ошибок
MsgBox(0, 'Data', $sData)
Содержимое 1.txt
Код:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://depo.ru/IManufacturingService/GetProductInfo</Action>
</s:Header>
<s:Body>
<GetProductInfo xmlns="http://depo.ru/">
<serial_number>382117-001</serial_number>
</GetProductInfo>
</s:Body>
</s:Envelope>
В ответ ничего не приходит, msgbox отображается пустой, а должен приходить XML файл.
Что не так в запросе?