Отправка WinHttpRequest работает с продуктами Office 2007, но не с 2013

Я написал некоторый код, который извлекает текст с нашего сервера и записывает этот текст в текстовый документ.

Мы находимся в процессе обновления нашего офисного пакета с 2007 до 2013, но у меня возникают проблемы при тестировании ранее работавшего кода в Word 2013.

Я сузил его до строки http.send, похоже, она ничего не отправляет. Когда я запускаю код в наборе 2007 года, я получаю небольшое ожидание, а затем он переходит к подпрограмме http_OnResponseFinished(), но в наборе 2013 года он не входит в эту подпрограмму.

URL-адрес правильный, и он выглядит одинаково/возвращает одни и те же данные в пакетах 2007 и 2013.

  Public Sub Download(Url As String, Optional Async As Boolean = True)

    Debug.Print "About to download text from url '" & Url & "'."

    http.Open "GET", Url, True 'http must be opened before it can send the request

    http.SetRequestHeader "Content-type", "application/json"

    http.Send 'Sends the request

'    If Wait Then
'        http.WaitForResponse
'    End If
End Sub
Private Sub http_OnResponseFinished()

    Dim Response As String

    Response = http.ResponseText

    WriteTextToWord Response

    Finished = True

    Debug.Print "Completed downloading and inserting text, icons and links."

    If err <> 0 Then
        Call writeToLog(err.Description)
    End If
End Sub

person Gurkmeja101    schedule 24.08.2016    source источник
comment
Вы используете Set http = CreateObject("WinHttp.WinHttpRequest.5.1") ?   -  person Cody G    schedule 24.08.2016


Ответы (1)


Я нашел проблему.

Я использовал прокси-сервер дальше в коде, который по какой-то причине не позволял объекту http подключаться к серверам.

Удалив прокси, я решил проблему, и, поскольку использование этой программы только внутреннее, я думаю, что не использовать прокси будет нормально.

person Gurkmeja101    schedule 24.08.2016