powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Curl, https запросом вызвать API-функцию сайта
9 сообщений из 9, страница 1 из 1
Curl, https запросом вызвать API-функцию сайта
    #39116372
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛирикаЭтот вопрос я задал здесь , но посещаемость того форума оставляет желать лучшего. И в существующей теме - но его, я как понял, в куче других сообщений его не заметили, выделю новую тему


Подскажите, как можно вызывать с помощью curl какое-нибудь api с сайта api.superjob.ru. Например, вот эту функцию:

Вакансия

Resource informationUrl https://api.superjob.ru/2.0/vacancies/:id/ (пример: https://api.superjob.ru/2.0/vacancies/555/ )HTTP MethodGETАутентификацияНужна для вывода контактов.Если контакты не нужны - не требуетсяСписокнет

Входные параметры
НазваниеТипОбязательныйОписание:idintдаID вакансии


Пример запроса:
GET https://api.superjob.ru/2.0/vacancies/100000/

Как этот запрос вызвать из командной строки с помощью CURL из командной строки?

моя попытка ответить на этот вопрос терпит неудачу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 C:\curl>curl -g " https://api.superjob.ru/2.0/vacancies/100000/"  
curl: (60) SSL certificate problem: self signed certificate in certificate chain

More details here:  http://curl.haxx.se/docs/sslcerts.html 

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.


В целом, пытаюсь сделать это из кода С++, но мне бы хотя бы из cmd это сделать.
...
Рейтинг: 0 / 0
Curl, https запросом вызвать API-функцию сайта
    #39116383
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weylandcurl: (60) SSL certificate problem: self signed certificate in
certificate chain
Какое слово тебе непонятно?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Curl, https запросом вызвать API-функцию сайта
    #39116384
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понимаю - ругается на то, что сайт использует самоподписанный сертификат.
Если тебя это устраивает, то
авторIf you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
т.е. так попробуй
Код: plaintext
1.
curl -k -g "https://api.superjob.ru/2.0/vacancies/100000/"
...
Рейтинг: 0 / 0
Curl, https запросом вызвать API-функцию сайта
    #39116412
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, верно. Не думал, что без сертификата можно выполнить.

Ещё не очень понятна сама стилистика документации. Дословно написано так: описывают, что у функции 5 аргументов и приводят пример использования функции... а где эти аргументы задавать?
Я представлял себе, что создам файлик, запишу в нём что-то вроде

Код: plaintext
1.
2.
3.
4.
POST /2.0/favorites/ HTTP/1.1
Host: api.superjob.ru
X-Api-App-Id: fshtryhsrts5rtsgw4tgw34534jk5h34jkh5kj
Authorization: Bearer r.023007.example.access_token
Content-Type: application/x-www-form-urlencoded


и курлу укажу этот файлик. Просто для вызова любой из функций необходимо указывать X-Api-App-Id. Соответственно, вышеприведённая выполнилась, но выдала ошибку, что не указан X-Api-App-Id. Вот, как указать - не понятно
...
Рейтинг: 0 / 0
Curl, https запросом вызвать API-функцию сайта
    #39116443
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если указано HTTP Method GET то наверно задавать в самой ссылке
Код: plaintext
1.
curl -k -g "https://api.superjob.ru/2.0/vacancies/100000/?id_client=15&keyword=microsoft"
...
Рейтинг: 0 / 0
Curl, https запросом вызвать API-функцию сайта
    #39116477
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наконец-то у меня что-то получилось.

Нет, не так.

Вот примеры того, как правильно задавать параметры. Отдельным аргументом curl'а.
Код: plaintext
curl -i -H  "Accept: application/json"  -X POST -d "firstName=james"  http://192.168.0.165/persons/person  
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Curl, https запросом вызвать API-функцию сайта
    #39382019
A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все это хорошо и замечательно. Только объясните пож. чайнику в какое место засунуть этот запрос и уж тем более куда прилетит ответ
...
Рейтинг: 0 / 0
Curl, https запросом вызвать API-функцию сайта
    #39382038
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AВсе это хорошо и замечательно. Только объясните пож. чайнику в какое место засунуть этот запрос и уж тем более куда прилетит ответ
жми клавиши Windows+R, там набери cmd и надави Enter.
Туда и вводи.
Только учти, что curl установлен должен быть..
...
Рейтинг: 0 / 0
Curl, https запросом вызвать API-функцию сайта
    #39382040
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если тебе curl тяжёл и тебе не принципиально использовать именно его, запросы можешь отправлять с помощью fiddler. У него там вкладка замечательная есть - composer. Там можно задать любой запрос и запустить его. Когда прилетит ответ, на вкладке Inspectors можешь его просмотреть.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Curl, https запросом вызвать API-функцию сайта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]