diff options
| author | Kirill Volinsky <mataes2007@gmail.com> | 2013-02-25 10:15:31 +0000 | 
|---|---|---|
| committer | Kirill Volinsky <mataes2007@gmail.com> | 2013-02-25 10:15:31 +0000 | 
| commit | dcce39da3e6f7485dca39950dfc835563de3c3ea (patch) | |
| tree | 0f0269e524cc83e41e4614e3c84abe3580ad2c9c /plugins/FTPFileYM/curl-7.29.0/docs/examples/cookie_interface.c | |
| parent | d395ad5aceb634b5ccfcb8d31b4b1574e557469e (diff) | |
1 step: libcurl static link
git-svn-id: http://svn.miranda-ng.org/main/trunk@3763 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/FTPFileYM/curl-7.29.0/docs/examples/cookie_interface.c')
| -rw-r--r-- | plugins/FTPFileYM/curl-7.29.0/docs/examples/cookie_interface.c | 124 | 
1 files changed, 124 insertions, 0 deletions
diff --git a/plugins/FTPFileYM/curl-7.29.0/docs/examples/cookie_interface.c b/plugins/FTPFileYM/curl-7.29.0/docs/examples/cookie_interface.c new file mode 100644 index 0000000000..2e7c66db2c --- /dev/null +++ b/plugins/FTPFileYM/curl-7.29.0/docs/examples/cookie_interface.c @@ -0,0 +1,124 @@ +/*************************************************************************** + *                                  _   _ ____  _ + *  Project                     ___| | | |  _ \| | + *                             / __| | | | |_) | | + *                            | (__| |_| |  _ <| |___ + *                             \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at http://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +/* This example shows usage of simple cookie interface. */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <errno.h> +#include <time.h> + +#include <curl/curl.h> + +static void +print_cookies(CURL *curl) +{ +  CURLcode res; +  struct curl_slist *cookies; +  struct curl_slist *nc; +  int i; + +  printf("Cookies, curl knows:\n"); +  res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies); +  if (res != CURLE_OK) { +    fprintf(stderr, "Curl curl_easy_getinfo failed: %s\n", curl_easy_strerror(res)); +    exit(1); +  } +  nc = cookies, i = 1; +  while (nc) { +    printf("[%d]: %s\n", i, nc->data); +    nc = nc->next; +    i++; +  } +  if (i == 1) { +    printf("(none)\n"); +  } +  curl_slist_free_all(cookies); +} + +int +main(void) +{ +  CURL *curl; +  CURLcode res; + +  curl_global_init(CURL_GLOBAL_ALL); +  curl = curl_easy_init(); +  if (curl) { +    char nline[256]; + +    curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/"); +    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); +    curl_easy_setopt(curl, CURLOPT_COOKIEFILE, ""); /* just to start the cookie engine */ +    res = curl_easy_perform(curl); +    if (res != CURLE_OK) { +      fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res)); +      return 1; +    } + +    print_cookies(curl); + +    printf("Erasing curl's knowledge of cookies!\n"); +    curl_easy_setopt(curl, CURLOPT_COOKIELIST, "ALL"); + +    print_cookies(curl); + +    printf("-----------------------------------------------\n" +           "Setting a cookie \"PREF\" via cookie interface:\n"); +#ifdef WIN32 +#define snprintf _snprintf +#endif +    /* Netscape format cookie */ +    snprintf(nline, sizeof(nline), "%s\t%s\t%s\t%s\t%lu\t%s\t%s", +      ".google.com", "TRUE", "/", "FALSE", (unsigned long)time(NULL) + 31337UL, "PREF", "hello google, i like you very much!"); +    res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, nline); +    if (res != CURLE_OK) { +      fprintf(stderr, "Curl curl_easy_setopt failed: %s\n", curl_easy_strerror(res)); +      return 1; +    } + +    /* HTTP-header style cookie */ +    snprintf(nline, sizeof(nline), +      "Set-Cookie: OLD_PREF=3d141414bf4209321; " +      "expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com"); +    res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, nline); +    if (res != CURLE_OK) { +      fprintf(stderr, "Curl curl_easy_setopt failed: %s\n", curl_easy_strerror(res)); +      return 1; +    } + +    print_cookies(curl); + +    res = curl_easy_perform(curl); +    if (res != CURLE_OK) { +      fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res)); +      return 1; +    } +  } +  else { +    fprintf(stderr, "Curl init failed!\n"); +    return 1; +  } + +  curl_global_cleanup(); +  return 0; +}  | 
