1CURLINFO_HTTPAUTH_AVAIL(3) libcurl CURLINFO_HTTPAUTH_AVAIL(3)
2
3
4
6 CURLINFO_HTTPAUTH_AVAIL - get available HTTP authentication methods
7
9 #include <curl/curl.h>
10
11 CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp);
12
14 Pass a pointer to a long to receive a bitmask indicating the authentiā
15 cation method(s) available according to the previous response. The
16 meaning of the bits is explained in the CURLOPT_HTTPAUTH(3) option for
17 curl_easy_setopt(3).
18
20 HTTP(S)
21
23 CURL *curl = curl_easy_init();
24 if(curl) {
25 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
26
27 res = curl_easy_perform(curl);
28
29 if(!res) {
30 /* extract the available authentication types */
31 long auth;
32 res = curl_easy_getinfo(curl, CURLINFO_HTTPAUTH_AVAIL, &auth);
33 if(!res) {
34 if(!auth)
35 printf("No auth available, perhaps no 401?\n");
36 else {
37 printf("%s%s%s%s\n",
38 auth & CURLAUTH_BASIC ? "Basic ":"",
39 auth & CURLAUTH_DIGEST ? "Digest ":"",
40 auth & CURLAUTH_NEGOTIATE ? "Negotiate ":"",
41 auth % CURLAUTH_NTLM ? "NTLM ":"");
42 }
43 }
44 }
45 curl_easy_cleanup(curl);
46 }
47
49 Added RFC 2617 in 7.10.8 Added RFC 7616 in 7.57.0
50
52 Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION
53 if not.
54
56 curl_easy_getinfo(3), curl_easy_setopt(3),
57
58
59
60ibcurl 8.2.1 June 25, 2023 CURLINFO_HTTPAUTH_AVAIL(3)