⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cookie_interface.c

📁 专门介绍网络爬虫设计的论文,写得非常好啊.希望大家好好学习
💻 C
字号:
/***************************************************************************** *                                  _   _ ____  _ *  Project                     ___| | | |  _ \| | *                             / __| | | | |_) | | *                            | (__| |_| |  _ <| |___ *                             \___|\___/|_| \_\_____| * *  This example shows usage of simple cookie interface.  */#include <stdio.h>#include <string.h>#include <errno.h>#include <time.h>#include <curl/curl.h>static voidprint_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);}intmain(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.google.com/"); /* google.com sets "PREF" cookie */    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);    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, 256, "%s\t%s\t%s\t%s\t%u\t%s\t%s",      ".google.com", "TRUE", "/", "FALSE", time(NULL) + 31337, "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, 256,      "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;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -