zoukankan      html  css  js  c++  java
  • C语言版 博客园用户登陆

     1 #include <stdio.h>
     2 #include <curl/curl.h>
     3 
     4 #define LOGIN_URL "http://m.cnblogs.com/mobileLoginPost.aspx"
     5 #define USER_NAME "myname"
     6 #define PASSWORD  "mypassword"
     7 
     8 FILE *fp;
     9 size_t write_data (void *ptr, size_t size, size_t nmemb, void *stream)
    10 {
    11     int written = fwrite (ptr, size, nmemb, (FILE *) fp);
    12     return written;
    13 }
    14 
    15 int main(void)
    16 {
    17     fp = fopen("html.txt", "w");
    18     if ( fp == NULL )
    19     {
    20         printf("open file failed.
    ");
    21     }
    22     CURL *curl;
    23     CURLcode res;
    24     struct curl_slist *headerlist = NULL;
    25     curl = curl_easy_init();
    26     if (curl)
    27     {
    28         char nline[256];
    29         snprintf(nline, sizeof(nline), "tbUserName=%s&tbPassword=%s&chkRemember=on&txtReturnUrl=", USER_NAME, PASSWORD);
    30         curl_easy_setopt(curl, CURLOPT_URL, LOGIN_URL);
    31         curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
    32         curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
    33         curl_easy_setopt(curl, CURLOPT_POST, 1);
    34         curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
    35         curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
    36         curl_easy_setopt(curl, CURLOPT_COOKIEFILE,  "cookie_login.txt");
    37         curl_easy_setopt(curl, CURLOPT_COOKIEJAR,  "cookie_login.txt");
    38         curl_easy_setopt(curl, CURLOPT_POSTFIELDS, nline);
    39 
    40         res = curl_easy_perform(curl);
    41 
    42         if (res != CURLE_OK)
    43             fprintf(stderr, "curl_easy_perform() failed: %s
    ",
    44                     curl_easy_strerror(res));
    45 
    46         curl_easy_cleanup(curl);
    47         curl_slist_free_all(headerlist);
    48     }
    49     return 0;
    50 }

    啊  要睡觉了,很晚了  明天试试闪存获取和发闪存。

  • 相关阅读:
    数据结构的入门
    Google 插件
    树莓派的第一次
    MySQL下载与安装
    SVN图标不显示问题
    excel 批量生成SQL语句
    版本管理工具
    RSA加密、解密、签名、验签的原理及方法
    获取客户端内网IP
    eclipse 添加svn插件
  • 原文地址:https://www.cnblogs.com/Crakme/p/3242272.html
Copyright © 2011-2022 走看看