0
我的目標是使用curl來確定提供的url
和uidPwd
是否足以連接到提供的URL。如果網址錯誤,curl_easy_perform
返回CANNOT_RESOLVE_HOST
。但是,如果url正常,則無論用戶是否提供了有效憑證,該調用都會返回CURLE_OK
。我明白爲什麼會發生這種情況,curl連接到提供的url,無論憑證是否正確(如果它們不正確,而不是提供所請求的資源,它將返回什麼等於「身份驗證失敗」)。我的問題是,有沒有什麼辦法可以知道認證是否僅僅使用'curl_easy_perform'的返回碼而失敗?如果不是,解決這個問題最簡單的方法是什麼?我不想去解析返回的HTTP的麻煩。使用libcurl驗證用戶憑證
curl_easy_setopt(curlHandle, CURLOPT_URL, url);
curl_easy_setopt(curlHandle, CURLOPT_USERPWD, uidPwd);
curl_easy_setopt(curlHandle, CURLOPT_HTTPAUTH, (long)CURLAUTH_ANY);
curl_easy_setopt(curlHandle, CURLOPT_WRITEFUNCTION, &BJConnection::writefunc);
curl_easy_setopt(curlHandle, CURLOPT_WRITEDATA, &s);
returnCode = curl_easy_perform(curlHandle);
assert(returnCode == CURLE_OK);