resolve.c
Go to the documentation of this file.
00001 /***************************************************************************
00002  *                                  _   _ ____  _
00003  *  Project                     ___| | | |  _ \| |
00004  *                             / __| | | | |_) | |
00005  *                            | (__| |_| |  _ <| |___
00006  *                             \___|\___/|_| \_\_____|
00007  *
00008  * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
00009  *
00010  * This software is licensed as described in the file COPYING, which
00011  * you should have received as part of this distribution. The terms
00012  * are also available at https://curl.haxx.se/docs/copyright.html.
00013  *
00014  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
00015  * copies of the Software, and permit persons to whom the Software is
00016  * furnished to do so, under the terms of the COPYING file.
00017  *
00018  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
00019  * KIND, either express or implied.
00020  *
00021  ***************************************************************************/
00022 /* <DESC>
00023  * Use CURLOPT_RESOLVE to feed custom IP addresses for given host name + port
00024  * number combinations.
00025  * </DESC>
00026  */
00027 #include <stdio.h>
00028 #include <curl/curl.h>
00029 
00030 int main(void)
00031 {
00032   CURL *curl;
00033   CURLcode res = CURLE_OK;
00034   struct curl_slist *host = NULL;
00035 
00036   /* Each single name resolve string should be written using the format
00037      HOST:PORT:ADDRESS where HOST is the name libcurl will try to resolve,
00038      PORT is the port number of the service where libcurl wants to connect to
00039      the HOST and ADDRESS is the numerical IP address
00040    */
00041   host = curl_slist_append(NULL, "example.com:80:127.0.0.1");
00042 
00043   curl = curl_easy_init();
00044   if(curl) {
00045     curl_easy_setopt(curl, CURLOPT_RESOLVE, host);
00046     curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
00047     res = curl_easy_perform(curl);
00048 
00049     /* always cleanup */
00050     curl_easy_cleanup(curl);
00051   }
00052 
00053   curl_slist_free_all(host);
00054 
00055   return (int)res;
00056 }


rc_visard_driver
Author(s): Heiko Hirschmueller , Christian Emmerich , Felix Ruess
autogenerated on Thu Jun 6 2019 20:43:06