Я работаю над уведомлением FCM pu sh. когда я использую команду curl в linux, она работает нормально.
LD_LIBRARY_PATH=/usr/local/lib curl -X POST --header "Authorization: key=AA- ~~~ O7v_" --header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d '{"to" : "dFC ~~~ 7Lbl", "notification" : { "title" : "title", "body" : "body" }}'
в windows среде Visual C ++ (с использованием libcurld)
int main(void)
{
CURL *curl;
CURLcode res;
std::string strTargetURL;
std::string strHeader;
std::string strResource;
struct curl_slist *headerlist = nullptr;
char *version = curl_version();
curl_version_info_data *curlData = curl_version_info(CURLVERSION_LAST);
strTargetURL = "https://fcm.googleapis.com/fcm/send";
strHeader = "Authorization: key=AAA~~~O7v_ Content-Type: application/json";
strResource = "{to : dFC~~~Lbl, priority : high, notification : { title : title, body : body }, data : { title : FG Title, message : Foreground Message }}";
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_VERBOSE, true);
curl_easy_setopt(curl, CURLOPT_POST, true);
curl_easy_setopt(curl, CURLOPT_HEADER, true);
curl_easy_setopt(curl, CURLOPT_URL, strTargetURL.c_str());
//curl_easy_setopt(curl, CURLOPT_RETURNTRANSFER, true);
curl_easy_setopt(curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTPS);
curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_DEFAULT);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, strResource);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, strHeader);
res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed : %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return 0;
}
я получил эту ошибку, когда я вызвал код.
- СОСТОЯНИЕ: INIT => CONNECT handle 0x1ba22c7bd00; строка 1619 (соединение # -5000)
- Добавлено соединение 0. Теперь кеш содержит 1 член
- STATE: CONNECT => WAITRESOLVE handle 0x1ba22c7bd00; строка 1660 (соединение # 0)
- Попытка 172.217.174.106:443...
- СОСТОЯНИЕ: WAITRESOLVE => WAITCONNECT handle 0x1ba22c7bd00; строка 1739 (соединение # 0)
- Подключено к fcm.googleapis.com (172.217.174.106) порт 443 (# 0)
- STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x1ba22c7bd00; строка 1795 (соединение № 0)
- Помечено для [keep alive]: HTTP по умолчанию
- ALPN, предлагая http / 1.1
- список шифров с ошибкой настройки: ALL:! EXPORT: ! EXPORT40:! EXPORT56:! ANULL:! LOW:! RC4:@STRENGTH
- Отмечено для [закрытия]: сбой HTTPS-соединения
- multi_done
- Закрытие подключения 0
- Кэш теперь содержит 0 членов
- Срок действия очищен (передача 0x1ba22c7bd00)
может ли кто-нибудь найти решение?