demo: 我就不上传了

前言

在实际生活中,网络请求的应用极其常见,比如使用浏览器,程序中我们还要调用webservice。那么浏览器是怎么请求网络资源的呢?不用它可以自己请求不?

答案是可以的。

如果我们可以用自己的程序主动发起网络请求,那么我们可以:模拟提交数据,做一些简单网页游戏的外挂,可以刷一些帖子的访问量,可以抓取网络上的资源……

废话不我说,此文以使用Get方式对有道词典网进行请求为核心,编写了一个简单的单词查询客户端。正则表达式不太懂可以改为字符串基本操作,或者对其自己做一下基本的了解和学习。

【注:致初学都系列,一般以简单有意义的demo为例,介绍某类知识点(此文已以黑体标出)。其中API不懂的可以留言讨论。如有兴趣可以查询MSDN进行深入学习(笔者所期望的)】

效果图:

aaarticlea/png;base64,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" alt="" />

代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions; namespace NetCapture
{
/// <summary>
/// base类。以后我们可能写别的类似请求,通过继承此类,可以省下一些代码。
/// </summary>
public abstract class GetScraperBase
{
//正则表达式的匹配模式
protected abstract string Pattern { get; }
//如何过滤正则表达式匹配的结果
protected abstract Dictionary<string, string> FilterMatch(Match match);
//抓取网页上的内容
public Dictionary<string, string> Scrape(string url, WebProxy proxy = null)
{
var request = WebRequest.Create(url); //创建request
if (proxy != null)
{
request.Proxy = proxy;//可能你在一些环境上不了网,得使用代理服务器
}
var response = request.GetResponse(); //获取response
var stream = response.GetResponseStream();
var responseReader = new StreamReader(stream);
var content = responseReader.ReadToEnd(); //读取response(页面对应的html)
var match = Regex.Match(content, Pattern, RegexOptions.IgnorePatternWhitespace); //筛选内容
return FilterMatch(match);
}
} public class YouDaoScaper : GetScraperBase
{
protected override string Pattern
{
get
{
/* Target result in response:
<div class="trans-container">
<ul>
<li>n. 试验;检验</li>
<li>vt. 试验;测试</li>
<li>vi. 试验;测试</li>
<li>n. (Test)人名;(英)特斯特</li>
</ul>
*
* there are two groups in this pattern, first is '<li>(?<content>.+)</li>[\r\n\s]*'
* it's an unnamed group, it has four capture:
* first is '<li>n. 试验;检验</li>' and so on.
*
* another group is and named group 'content' , it has four capture, in this sampe:
* capture 1 is 'n. 试验;检验' and so on.
*/ return @"<div\sclass=""trans-container"">[\r\n\s]*
<ul>[\r\n\s]*
(<li>(?<content>.+)</li>[\r\n\s]*)*
</ul>";
}
} protected override Dictionary<string, string> FilterMatch(Match match)
{
var dict=new Dictionary<string, string>();
var content = "";
var group=match.Groups["content"];
if(group.Success)
{
foreach (Capture capture in group.Captures)
{
content += (capture.Value + "\n");
}
}
dict["content"]=content;
return dict;
} public string QueryWord(string word)
{
var url= "http://dict.youdao.com/search?q="+word;
var dict = Scrape(url);
return dict["content"];
}
}
}
 

[System.Net]模拟Web请求编写简易单词查询客户端的更多相关文章

  1. 经验总结20--C#模拟WEB请求

    非常多语言能够使用代码进行WEB请求,获取到须要的数据. 方便调用别人的接口,自己进行处理. HttpWebRequest request = WebRequest.Create(url) as Ht ...

  2. 模拟HTTP请求:Request Maker

    摘要 : Request Maker是一款可以模拟HTTP请求的谷歌浏览器插件. Request Maker的开发背景 现在由于restful式的web api的兴起,越来越多的开发者习惯使用URL来 ...

  3. C#模拟httpwebrequest请求_向服务器模拟cookie发送

    使用C#代码模拟web请求,是一种常用的方法,以前没专门整理过,这里暂时贴上自己整理的完整代码,以后再做梳理: public class MyRequest { #region 辅助方法 public ...

  4. js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq

    js_html_input中autocomplete="off"在chrom中失效的解决办法 分享网上的2种办法: 1-可以在不需要默认填写的input框中设置 autocompl ...

  5. 使用 C# 编写简易 ASP.NET Web 服务器 ---- 模拟IIS的处理过程

    如果你想获得更好的阅读体验,可以前往我在 github 上的博客进行阅读,http://lcomplete.github.io/blog/2013/07/16/use-csharp-write-asp ...

  6. C# 编写简易 ASP.NET Web 服务器

    C# 编写简易 ASP.NET Web 服务器 你是否有过这样的需求——想运行 ASP.NET 程序,又不想安装 IIS 或者 Visual Studio?我想如果你经常编写 ASP.NET 程序的话 ...

  7. 使用 C# 编写简易 ASP.NET Web 服务器

    原文 http://www.cnblogs.com/lcomplete/p/use-csharp-write-aspnet-web-server.html 如果你想获得更好的阅读体验,可以前往我在 g ...

  8. 第三百二十七节,web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求

    第三百二十七节,web爬虫讲解2—urllib库爬虫 利用python系统自带的urllib库写简单爬虫 urlopen()获取一个URL的html源码read()读出html源码内容decode(& ...

  9. 模拟界面请求到web服务器

    客户端 package com.lsw.client; import java.io.*; import java.net.*; import java.util.*; public class HT ...

随机推荐

  1. hdu-5700 区间交(二分+树状数组)

    题目链接: 区间交 Problem Description   小A有一个含有n个非负整数的数列与mm个区间.每个区间可以表示为l​i​​,r​i​​. 它想选择其中k个区间, 使得这些区间的交的那些 ...

  2. poj1330

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24762   Accept ...

  3. C# 简单邮件群发通用类

    public static class Email { /// <summary> /// 发件人 /// </summary> public static string ma ...

  4. Android ListView动态改变Item高度

    在adapter的getView方法中进行设置,代码如下 @Override public View getView(int position, View convertView, ViewGroup ...

  5. Part 10 Stored procedures in sql server

    Stored procedures in sql server Stored procedures with output parameters Stored procedure output par ...

  6. Java之简单图形面积计算

    设计一个类层次,定义一个抽象类--形状(类名:shape).其中包括求形状的面积抽象方法(方法名:calArea()).继承该抽象类定义三角形(Triangle).矩形(Rectangle).圆(Ci ...

  7. 四步完成ajax的使用

    什么是ajax? ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页. 如何使用ajax? 第一步,创建xmlhttprequest对象,var xmlhttp ...

  8. iOS定位 (一) 地图定位

    带地图的定位方法#import <CoreLocation/CoreLocation.h> #import <MapKit/MapKit.h> <MKMapViewDel ...

  9. java静态代码块、初始化块和构造方法的执行顺序

    分析:当执行new Child()时,它首先去看父类里面有没有静态代码块,如果有,它先去执行父类里面静态代码块里面的内容,当父类的静态代码块里面的内容执行完毕之后,接着去执行子类(自己这个类)里面的静 ...

  10. HDU 5024 Wang Xifeng's Little Plot(枚举)

    题意:求一个图中只有一个90°拐点的路的最大长度. 分析:枚举每一个为'.'的点,求出以该点为拐点的八种路中的最大长度,再比较所有点,得出最大长度即可. 如上样例,这样是个90°的角... 注意:最多 ...