]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
examples/ipv6.c: new example showing IPv6-only internet transfer
authorDaniel Stenberg <daniel@haxx.se>
Tue, 9 Jan 2024 22:42:17 +0000 (23:42 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 10 Jan 2024 08:33:03 +0000 (09:33 +0100)
Closes #12671

docs/examples/ipv6.c

index dc305a072ecd0f29d3db09fbc4abf0e73527c590..1b698705d0ccf29fab1780a5c7ffd5c06de82d01 100644 (file)
  *
  ***************************************************************************/
 /* <DESC>
- * HTTP GET to an IPv6 address with specific scope
+ * HTTPS GET using IPv6 only
  * </DESC>
  */
 #include <stdio.h>
 #include <curl/curl.h>
 
-#ifndef _WIN32
-#include <net/if.h>
-#endif
-
 int main(void)
 {
-#ifndef _WIN32
-  /* Windows users need to find how to use if_nametoindex() */
   CURL *curl;
-  CURLcode res;
+  CURLcode res = CURLE_OK;
 
   curl = curl_easy_init();
   if(curl) {
-    long my_scope_id;
-    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+    curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
 
-    my_scope_id = if_nametoindex("eth0");
-    curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, my_scope_id);
+    curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/");
 
-    /* Perform the request, res will get the return code */
     res = curl_easy_perform(curl);
-    /* Check for errors */
-    if(res != CURLE_OK)
-      fprintf(stderr, "curl_easy_perform() failed: %s\n",
-              curl_easy_strerror(res));
 
-    /* always cleanup */
     curl_easy_cleanup(curl);
   }
-#endif
-  return 0;
+
+  return (int)res;
 }