Запрос по протоколу HTTPS | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Приветствую всех!
Подскажите, как получить данные по HTTPS-запросу. Известно: URL HTTP-метод GET Параметры запроса: key Ключ доступа name Название xml Получить ответ в формате XML Схема ответа json-схема |
Re: Запрос по протоколу HTTPS | |
---|---|
of63 Автор Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Также как и по HTTP-запросу
Первая попавшаяся заготовка для экспериментов вот здесь например: forum.foxclub.ru |
Re: Запрос по протоколу HTTPS | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Да вроде все так и делаю:
"https://...?key=...&name=...&xml" В чем может быть причина?? |
Re: Запрос по протоколу HTTPS | |
---|---|
of63 Автор Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Подставьте заведомо рабочий адрес, работает ли в принципе...
Вот так работает
А вот так работает и с строкой с вопросиком (взято из той же ссылки)
Часть текста скрыта
Исправлено 2 раз(а). Последнее : of63, 04.04.18 13:09 |
Re: Запрос по протоколу HTTPS | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
msdn.microsoft.com
Там достаточно много разных настроек требуется. В зависимости от используемого протокола (по умолчанию включены SSL2 и SSL3, оба считаются на сегодня небезопасными и "устаревшими", а вот их замена TLS как раз не включена), от сертификата удалённого сервера (может быть он помещён вручную в "доверенные" в браузере, но не помещён в системе - особенно если это какой "самодельный" сертификат, не из одного из мировых центров сертификации), от необходимости в предоставлении клиентского сертификата (т.е. в подтверждении своей идентичности клиентом - это тоже браузер вполне может "прозрачно" делать)... ------------------ WBR, Igor |
Re: Запрос по протоколу HTTPS | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Вот так метод send отрабатывает, но возвращает ошибку No valid key specified:
Впрочем, oHttp.Send() дает такой же результат. |
Re: Запрос по протоколу HTTPS | |
---|---|
of63 Автор Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
|
Re: Запрос по протоколу HTTPS | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Вот конкретная ссылка, которая работает в браузере, но не получается выполнить запрос в программе:
"https://focus-api.kontur.ru/api3/pepSearch?key=...&fio=Капанина Наталья Владимировна&xml" Тут параметры key, fio, xml Исправлено 1 раз(а). Последнее : lili, 05.04.18 15:42 |
Re: Запрос по протоколу HTTPS | |
---|---|
of63 Автор Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
|
Re: Запрос по протоколу HTTPS | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
И всё работает... Параметры передаваемые в заголовке запроса должны быть URL-закодированы. В частности тут закодировано твоё тестовое ФИО. Если нужен ответ в xml виде, то документация говорит о том что надо использовать параметр xml (его значение судя по всему не важно, важен сам факт наличия). Без него тоже работает, но ответ приходит в json формате. Асинхронный запрос тут не требуется, заголовок Content-Type для GET запроса тоже. А документация как раз про GET запросы и говорит. Ключик, я так понимаю, это конфиденциальный элемент, потому исправь своё сообщение чтобы его не светить. ------------------ WBR, Igor |
Re: Запрос по протоколу HTTPS | |
---|---|
of63 Автор Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> Асинхронный запрос тут не требуется (open("GET",cUrl,.T.)...)
Если сервер вообще не ответит, то .Send() будет ожидать его бесконечно, мтк. |
Re: Запрос по протоколу HTTPS | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Не уверен что "бесконечно" - таймауты есть по большинству стадий запрос-ответа. Хотя если сервер будет намеренно отдавать по 1 байтику в минуту, то наверное такой код "зависнет".
Автору бы для начала с базовой частью разобраться Не смешивать в кучу GET/POST, заголовок и тело запросов, научится их верно кодировать, расшифровывать ответ (особенно если он таки будет не чисто русскоязычный)... P.S. Тебе бы тоже подправить свой пример на предмет маскировки ключа... ------------------ WBR, Igor Исправлено 1 раз(а). Последнее : Igor Korolyov, 05.04.18 15:01 |
Re: Запрос по протоколу HTTPS | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Большое спасибо! Теперь действительно работает.
Мне бы еще ссылочку как "научиться их верно кодировать", если вас не затруднит. |
Re: Запрос по протоколу HTTPS | |
---|---|
of63 Автор Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> ...научиться их верно кодировать...
Звучит, примерно как "верно управлять велосипедом": падаешь влево - крути руль влево, и т.п Основная идея - посылаем строку запроса к серверу, сервер возвращает текст. 2 вида запроса: - GET - параметры запроса приделаны к адресу через знак вопроса - POST - адрес передается "чистый", параметры запроса передаем в .Send Заголовки запроса - дополнительные указания серверу. ... * Обьект для HTTP-обмена с сервером (см. xmlhttprequest.ru или ru.wikipedia.org) Кодировать (URL-кодирование) - вот тут кодировали forum.foxclub.ru Исправлено 1 раз(а). Последнее : of63, 05.04.18 16:29 |
Re: Запрос по протоколу HTTPS | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Всем спасибо! Разобралась.
|
Re: Запрос по протоколу HTTPS | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
В продолжение темы.
На некоторых машинах при выполнении запроса выходит сообщение о невозможности проверить отзыв сертификата (см. вложение), жмем "Да" и работаем. Но хотелось бы от этого избавиться. Вопрос в том, как это сделать и почему не на всех машинах в сети выходит такое сообщение. Скажу сразу, что в сертификатах я не сильна, поэтому прошу объяснить подробнее. |
Re: Запрос по протоколу HTTPS | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Какие-то проблемы с разной возможностью чего-либо через веб могут быть связаны с разными настройками браузеров и разрешений доступа в яве. Т.е. проще всего сравнить два компьютера на этот предмет - для нужного сайта должны быть отменены запреты, на всплывающие окна как минимум, а часто и на все остальное. Аналогично и в настройках установленной явы найти и разрешить данный сайт. Разумеется надо изначально не забыть добавить сертификат в хранилище браузера, место добавления как правило зависит от используемого браузера, если зайти в настройки, у каждого есть своя закладка для сертификатов. Если используется автоматизация, видимо это IE, там и добавлять. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Запрос по протоколу HTTPS | |
---|---|
of63 Автор Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
В IE галочка есть в настройках: www.makak.ru
|
Re: Запрос по протоколу HTTPS | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
blogs.msdn.microsoft.com У вас есть системный администратор? Это сфера его компетенции. Сертификаты разные бывают - некоторые с онлайн проверкой списков отзыва (это лучший вариант), некоторые только с crl файлами (по бедности или рукожопости - особенно если речь идёт про всякие "самодельные" сертификаты, которые выпускаются вообще без наличия официального "центра сертификации", или наши "государственные" центры сертификации). При том стороной выпускающей сертификаты настраивается как часто "протухает" соответствующий crl, т.е. как часто его нужно заново скачивать и устанавливать в систему. Ни к какой яве, или к "несоответствию адреса сертификата" данная ошибка отношения не имеет. Максимум что можно сделать со стороны IE, это отключить "Check for server certificate revocation" - но это может помочь только с частью общения по HTTPS, да и то только касаемо "серверного" сертификата. В самом IE, впрочем, по умолчанию такого рода ошибки не являются фатальными - они лишь предупреждения показывают, а не такого рода окна - но может быть при работе через XMLHTTP таки окна и будут лезть. Если речь про всё тот же сервер kontur.ru - у них вполне адекватный сертификат, он выпущен DigiCert - одним из крупнейших и надёжнейших корневых центров сертификации, чьи собственные сертификаты встроены в большинство ПО - как MS так и других производителей. Правда сертификат весьма краткосрочный (до 5 мая действителен нынешний). ------------------ WBR, Igor |
© 2000-2024 Fox Club  |