Я хотел бы запустить образец C ++ REST SDK, размещенный на сайте Программы разработчиков Windows: https://ms-iot.github.io/content/Casablanca.htm
Я был очень осторожен, выполняя шаги, также используя версию 2.2 cpprest lib вместо самой последней (2.4), в результате я смог успешно запустить проект и развернуть его на моем Galileo, но когда клиентский объект пытается разрешить В запросе с использованием образца, размещенного на странице, я получил следующую ошибку:
Error exception:Error in: WinHttpSendRequest.
Код — это main.cpp по ссылке выше, и я пытаюсь запустить его на моем Intel Galileo.
Цените любую помощь, потому что это немного расстраивает, не может найти информацию об этой ошибке.
Наиболее распространенной причиной ошибок в WinHttpSendRequest API являются проблемы с сетью / DNS / брандмауэром.
Легко проверить, отправив эхо-запрос на www.bing.com из командной строки Galileo (Telnet). Если это не удается, то это почти наверняка причина. Вы можете заменить www.bing.com на IP-адрес в качестве быстрого и грязного обходного пути.
Если это не так, есть ли вероятность, что брандмауэр блокирует ваш запрос (например, если вы находитесь за корпоративным брандмауэром)?
Вы запускали код в отладчике Visual Studio? Можете ли вы сузить, где происходит исключение?
Если это не помогает, и вы застряли, вы можете попробовать не-касабланковский подход: http://msdn.microsoft.com/en-us/library/windows/desktop/ms737889(v=vs.85).aspx. Лично я нахожу асинхронную структуру Касабланки сбивающей с толку, и она не приносит большой пользы в моих проектах (базовые запросы клиентов HTTP). Поддержка Winsock поставляется вместе с образом Windows, работающим на Galileo, поэтому не требуется никакой предварительной настройки.
Дан.