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>
|
/* <DESC>
|
||||||
* HTTP GET to an IPv6 address with specific scope
|
* HTTPS GET using IPv6 only
|
||||||
* </DESC>
|
* </DESC>
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
|
|
||||||
#ifndef _WIN32
|
|
||||||
#include <net/if.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
#ifndef _WIN32
|
|
||||||
/* Windows users need to find how to use if_nametoindex() */
|
|
||||||
CURL *curl;
|
CURL *curl;
|
||||||
CURLcode res;
|
CURLcode res = CURLE_OK;
|
||||||
|
|
||||||
curl = curl_easy_init();
|
curl = curl_easy_init();
|
||||||
if(curl) {
|
if(curl) {
|
||||||
long my_scope_id;
|
curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
|
||||||
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
|
|
||||||
|
|
||||||
my_scope_id = if_nametoindex("eth0");
|
curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/");
|
||||||
curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, my_scope_id);
|
|
||||||
|
|
||||||
/* Perform the request, res will get the return code */
|
|
||||||
res = curl_easy_perform(curl);
|
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);
|
curl_easy_cleanup(curl);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
return 0;
|
return (int)res;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user