d語言中對curl庫有兩個包, 乙個是etc.c.curl,乙個是std.net.curl,其中etc.c.curl是原始的libcurl庫的c語言介面轉化為d語言的介面,使用這個包裡的函式,可以更原始的方法使用libcurl庫。而std.net.curl包則是在etc.c.curl基礎上對libcurl庫的呼叫做了乙個封裝,讓使用者使用起來更加方便。使用etc.c.curl與c語言裡使用curl基本上完全一樣,沒什麼大的區別,這裡不討論。下面只是簡單介紹一下使用std.net.curl來編寫乙個完整的http請求。
std.net.curl中對libcurl的封裝主要在struct http這個結構裡完成,必須要處理的函式有
1) onreceive**函式,用於處理接收到的資料。
2) perform 函式,用於同步處理請求。 curl是可以做非同步處理的,這裡不詳解。
3) method屬性,設定請求協議型別get,post。其它不介紹。
4) setpostdata 設定post的資料
5) responseheaders屬性, 獲取返回資料的頭。
6) addrequestheader函式,新增自定義的頭,也可以先使用clearrequestheaders清空缺省的請求頭
7) setcookie設定自己的cookie項,應該說是新增。
在包中有get方法與post方法,可以更簡單的使用。
下面的例子直接使用get方法取網頁。
import當然直接使用post方法也是一樣的簡單。std.stdio;
import
std.traits;
import
std.format;
import
core.thread;
private
import
std.net.curl;
private
import
std.conv;
private
import
excode;
intmain(string ar**)
catch
(throwable e)
readln();
return 0;
}
C語言中 使用方式
域寬 轉換字元 乙個轉換說明以 開始,以轉換字元結尾,域寬部分是可選的,每個轉換說明對應於乙個輸出引數,改引數被轉化換成有轉換說明規定的資料格式後輸出。注 如果 後面是非轉換字元,多數編譯系統將它作為普通字元輸出。域寬說明字元 意義 減號 在指定區域按左對齊方式輸出 沒有減號時為右對齊 加號 輸出正...
Go語言中使用JSON
encode 將乙個物件編碼成json資料,接受乙個inte ce 物件,返回byte和error func marshal v inte ce byte,error marshal函式將會遞迴遍歷整個物件,依次按成員型別對這個物件進行編碼,型別轉換規則如下 bool型別 轉換為json的boole...
在Go語言中使用JSON
將乙個物件編碼成json資料,接受乙個inte ce 物件,返回byte和error func marshal v inte ce byte,error marshal函式將會遞迴遍歷整個物件,依次按成員型別對這個物件進行編碼,型別轉換規則如下 bool型別轉換為json的boolean 整數,浮點...