mirror of
https://github.com/curl/curl.git
synced 2025-03-01 15:15:34 +08:00
examples/ipv6.c: new example showing IPv6-only internet transfer
Closes #12671
This commit is contained in:
parent
ebbc6243d7
commit
dd09f88f13
@ -22,41 +22,27 @@
|
||||
*
|
||||
***************************************************************************/
|
||||
/* <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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user