.net 中调用 Elasticsearch curl



elasticsearch 采用JSON格式传递数据,在提交HTTP请求时,我们通常使用curl来处理,当然也可以用fiddler等类似工具。
curl可以到这里下载:
http://curl.haxx.se/download.html

有各个操作系统版本,如果你在windows下使用.net,也可以用libcurlnet:

1. 需要先下载libcurl .net http://sourceforge.net/projects/libcurl-net/?source=dlp
2. 解压 libcurlnet-1_3.zip 复制其中bin目录下的 LibCurlNet.dll, libcurl.dll, LibCurlShim.dll, ca-bundle.crt 四个文件,到项目的Debug或者Release 文件夹
3. 在项目中添加 LibCurlNet.dll 引用
4. 引用 using SeasideResearch.LibCurlNet; 命名空间
5. 就开始写代码了
下面是一个例子可以参考一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Program
{
     public static void Main(String[] args)
     {
         try {
             Curl.GlobalInit(( int )CURLinitFlag.CURL_GLOBAL_ALL);
             Easy easy = new Easy();
             Easy.WriteFunction wf = new Easy.WriteFunction(OnWriteData);
             easy.SetOpt(CURLoption.CURLOPT_URL, "http://www.okbase.net" );
             easy.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION, wf);
             easy.Perform();
             easy.Cleanup();
             Curl.GlobalCleanup();
         } catch (Exception ex) {
             Console.WriteLine(ex);
         }
         Console.ReadKey();
     }
     public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData)
     {
         Console.Write(System.Text.Encoding.UTF8.GetString(buf));
         return size * nmemb;
     }
}

这里有个现成的工程打包:
http://www.okbase.net/file/item/27052

你可能感兴趣的:(.net 中调用 Elasticsearch curl)