国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

C語(yǔ)言調(diào)用libcurl的一個(gè)簡(jiǎn)單例子

2019-11-06 06:24:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

首先我們創(chuàng)建一個(gè)php頁(yè)面:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><form action="#" method="post"><input name="pass" type="text"></input><input name="submit" type="submit" value="Login"></input></form><?phpecho "Refer : " . $_SERVER['HTTP_REFERER'] . "<br>";if(isset($_POST['pass'])){ echo "Login successfully via PassWord <br> pass = " . $_POST['pass'] . "<br>"; setcookie("pass", "password");}else if(isset($_COOKIE['pass'])){ echo "Login successfully via COOKIE <br> pass = " . $_COOKIE['pass'] . "<br>";}else{ echo "Please login <br>";}?>

這是一個(gè)簡(jiǎn)單的登錄頁(yè)面,可以通過(guò)輸入密碼登陸,也可以通過(guò)cookie登陸。

我們將通過(guò)這個(gè)頁(yè)面示范C語(yǔ)言通過(guò)libcurl庫(kù)進(jìn)行設(shè)置http請(qǐng)求頭、post、cookie的操作。

C代碼:

#include "stdafx.h"#include "curl/curl.h"size_t function( void *ptr, size_t size, size_t nmemb, void *stream){ Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2141.400 QQBrowser/9.5.10219.400"); headers = curl_slist_append(headers,"Cache-Control: max-age=0"); headers = curl_slist_append(headers,"Content-Type: application/x-www-form-urlencoded"); headers = curl_slist_append(headers,"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); headers = curl_slist_append(headers,"Referer:http://www.baidu.com"); headers = curl_slist_append(headers,"Accept-Encoding: gzip, deflate"); headers = curl_slist_append(headers,"Accept-Language: zh-CN,zh;q=0.8");// headers = curl_slist_append(headers,"Cookie: olfsk=olfsk7257964002188215; hblid=nR2Zo2hcfSVtItpT3m39N804DHbNAfAp; pass=password");//也可以直接通過(guò)頭部提交cookie curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_COOKIEFILE,"");//CURLOPT_COOKIEFILE參數(shù)用于從文件讀取cookie。這里用于初始化cookie引擎,這樣后面的curl_easy_getinfo才能正確接收到cookie數(shù)據(jù). curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookie_open.txt");//保存從服務(wù)器返回的cookie到文件,也就是說(shuō)我們自己設(shè)置的并不會(huì)保存 curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1/VSCurlTest.php"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, function); curl_easy_setopt(curl, CURLOPT_POST, 1);//設(shè)置CURLOPT_POST之后必須帶有POST數(shù)據(jù) curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "pass=23333&submit=%CC%E1%BD%BB"); curl_easy_setopt(curl, CURLOPT_COOKIE, "olfsk=olfsk7257964002188215; hblid=nR2Zo2hcfSVtItpT3m39N804DHbNAfAp; pass=adadad"); curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies);//獲取cookie,只獲取服務(wù)器返回的cookie cookie = cookies; while(cookie) { printf("%s/n", cookie->data); cookie = cookie->next; } curl_slist_free_all(headers); curl_slist_free_all(cookies); curl_easy_cleanup(curl); getchar(); return 0;}

通過(guò)注釋這個(gè)例子的某些curl_easy_setopt調(diào)用,觀察輸出信息,大概也能理解libcurl的使用了。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南城县| 神农架林区| 贵州省| 东乡族自治县| 肥城市| 亳州市| 临漳县| 天长市| 阳城县| 城步| 恭城| 德庆县| 怀集县| 资溪县| 屏东市| 彝良县| 双牌县| 朝阳市| 张家口市| 永仁县| 九台市| 宁德市| 吉木乃县| 大悟县| 北川| 岚皋县| 台南县| 库伦旗| 凌源市| 宿松县| 新疆| 上饶市| 汪清县| 会东县| 濮阳县| 乌什县| 怀安县| 吉林市| 合水县| 安国市| 延庆县|