网页爬虫、自动提交、自动Post、自动Get
其实这类功能用C#有很多方法实现,简单点的用WebClient,参数多一些的用HttpWebRequest。但是用这些的时候我总会碰到一些验证的错误。什么ssl的错误,还有服务器返回的错误,而且还不知道错在哪。直到我发现了一个叫RestSharp的库。
不得不说,RestSharp是一款非常有用的REST API客户端库。RestSharp可能是.NET中最受欢迎的HTTP客户端库,具有自动序列化和反序列化,请求和响应类型检测,各种身份验证以及其他有用的功能,正在被成千上万的项目使用。
RestSharp在NuGet上的下载量超过3200万,评价每日下载量为10000。许多受欢迎的OSS项目(包括Roslyn和Swagger)都在使用它。
特点包括:
- 序列化 - 支持JSON,XML和自定义序列化和反序列化
- 同步和异步 - 各种重载机制以支持同步和异步HTTTP调用
- 广泛的配置 - 几乎可以自定义HTTP调用的每个方面
- 认证方式 - 支持基本的,
OAuth 1,OAuth 2,JWT和NTLM - 表单 - 请求体和文件 - 将对象作为请求主体以JSON或XML或表单形式发送。以字节或流的形式上传和下载文件。
- 参数 - 使用简单流畅的API添加查询、URL片段、正文、表单或头参
1.Get(直接上代码,需要其他参数的可以自己加)
public static string Get(string url)
{
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
return response.Content;
}
catch (Exception ex)
{
return "";
}
}
2.Post(直接上代码,需要其他参数的可以自己加)
public static string Post(string url, IDictionary<string, string> cookies, IDictionary<string, string> bodys)
{
try
{
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
foreach (var item in cookies.Keys)
request.AddCookie(item, HttpUtility.UrlEncode(cookies[item]));
foreach (var item in bodys.Keys)
request.AddParameter(item, bodys[item]);
IRestResponse response = client.Execute(request);
return response.Content;
}
catch (Exception ex)
{
return "";
}
}
3.感觉这玩意来写爬虫实在是太舒服,抓来源码正则解析完就完成了。
技术QQ 1124391467

浙公网安备 33010602011771号