2013-07-26 2 views
1

안녕하세요,Android 및 libCurl https

Android 프로젝트 중 하나에 libCurl을 구현해야합니다. JNI를 사용하여 libCurl 코드로 C++ 클래스를 호출합니다. 모든 것이 완벽하게 작동하지만 신의 사랑 때문에 https URL을 사용하여 작동시키지 못합니다. 나는 항상 CURLE_UNSUPPORTED_PROTOCOL 오류가 발생합니다.

내가 SSL을 this prebuild curl library

내 C++ 코드를 사용하고있어 다음과 같습니다

curl_easy_setopt(curl, CURLOPT_URL, "https://www.es...."); 
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); 
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk); 
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0); 
curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, (void *)&cbProgress); 
curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_func); 
curl_easy_setopt(curl, CURLOPT_SSLVERSION, 3); 

status = curl_easy_perform(curl); 

나는 iOS 용 동일한 코드를 사용하고는 https로 잘 작동합니다. 다시, http url을 사용하면 문제가 없습니다.

어떤 도움을 주실 것을 진심으로 감사드립니다 !! libcurl errors manpage에서

답변

1

:

CURLE_UNSUPPORTED_PROTOCOL (1) 
      The URL you passed to libcurl used a protocol that this libcurl 
      does not support. The support might be a compile-time option 
      that you didn't use, it can be a misspelled protocol string or 
      just a protocol libcurl has no code for. 

compile-time option이의 중요한 테이크 아웃입니다. 따라서 curl_version_info() (맨 페이지 here)으로 사용중인 라이브러리를 테스트하여 SSL 지원 여부를 확인하십시오. 도서관 담당자가 SSL을 지원한다고 말할 수 있지만 확인해주세요. SSL 지원을 포함하지 않으면 https을 지원하지 않습니다.

+0

감사합니다. SSL 버전을 확인한 후 null을 반환합니다. 댕! SSL 지원과 함께 미리 컴파일 된 libcurl 라이브러리를 다운로드 할 수있는 다른 리소스가 있습니까? – Pascal

+0

직접 제작하지 않으시겠습니까? – Samveen