几乎在所有的linux发行版中,默认都是包含有libcurl库的。那么,libcurl是使用C开发的,自然,当你用C或C++使用libcurl库的时候很方便。但是,如果你想使用C#来开发程序的话,怎么办呢。幸好,还有libcurl.NET库,就是经过封装之后的libcurl库。
1、添加对libcurl库的引用
2、写一个简单的测试程序
/*
* Created by SharpDevelop.
* User: Peng QianHe
* Date: 9/9/2012
* Time: 8:08 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.IO;
using SeasideResearch.LibCurlNet;
namespace ConsoleTest
{
class Program
{
private static BinaryWriter bw = null;
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);
if(args.Length>1){
easy.SetOpt(CURLoption.CURLOPT_URL, args[0]);
}else{
string url = string.Empty;
Console.WriteLine("Download URL: ");
url = Console.ReadLine();
easy.SetOpt(CURLoption.CURLOPT_URL,url);
}
easy.SetOpt(CURLoption.CURLOPT_VERBOSE,1);
easy.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION, wf);
easy.SetOpt(CURLoption.CURLOPT_NOPROGRESS,1);
string path = string.Empty;
Console.WriteLine("Save Path: ");
path = Console.ReadLine();
Program.bw = new BinaryWriter(new FileStream(path,FileMode.Create));
easy.Perform();
easy.Cleanup();
Program.bw.Close();
Curl.GlobalCleanup();
}
catch(Exception ex) {
Console.WriteLine(ex);
}
}
public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb,
Object extraData)
{
Program.bw.Write(buf);
return size * nmemb;
}
}
}
之后,不用说了,肯定是编译运行,试试了。
libcurl.NET库可以点击这里下载
【更多阅读】
- [原]使用Excel的VBA来读取和修改bmp位图像素数据
- [原]IniFile.cs:C#来操作ini配置文件
- [原]ManageStartUpApps:C#操作注册表来读取和修改开机启动项
- [原]IniFile.cs:C#来操作ini配置文件
- [原]IniFile.cs:C#来操作ini配置文件
- [原]《The C Programming Language》电子书下载
- [原]Baidu:C#利用百度来搜索网页、图片、视频等等
- [原]PjConvertImageFormat:用FreeImage.NET写的一个35种图像格式转换程序
- [原]GetIcons:C#提取应用程序的图标资源
- [原]DownloadWebImages:下载某页面上的所有图片
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)