Мне нужно использовать библиотеку libcurl cpp в одном из моих проектов Android, и я могу собрать библиотеку с поддержкой SSL, но функция прокси не работает.
Во-первых, я ищу включение / отключение прокси в системе, отправляя запрос HEAD на прокси и, в зависимости от этого, добавляю URL прокси в опции curl.
мое приложение для Android использует библиотеку cpp, которую я создал, а библиотека cpp использует libcurl.
это проблема при создании библиотеки или проблема при реализации библиотеки? Чего-то не хватает в сборке или в коде?
Я собрал библиотеку для iOS, и, похоже, она отлично работает с функциями прокси.
Я создал библиотеку libcurl по этой ссылке: "https://github.com/gcesarmza/curl-android-ios"
Когда я запускаю приложение в Android, функции isProxyEnabled () возвращают false, а запрос HEAD возвращает responseCode - 0, а curl_easy_perform (handle) возвращает 7. Но запрос в sendHTTP успешно выполнен и возвращает ответ 204.
#define PROXY_ADDR "127.0.0.1:5466"
void sendHTTP() {
.....
if(isProxyEnabled()) {
curl_easy_setopt(curl, CURLOPT_PROXY, "socks5://" PROXY_ADDR);
}
.....
}
bool isProxyEnabled() {
bool isEnabled = false;
CURL * handle = curl_easy_init();
curl_easy_setopt(handle,CURLOPT_URL, "http://" PROXY_ADDR);
curl_easy_setopt(handle, CURLOPT_NOBODY, 1L);
CURLcode ret = curl_easy_perform(handle);
if(ret == CURLE_OK) {
isEnabled = true;
}
curl_easy_cleanup(handle);
return isEnabled;
}