今天公司也没什么事,又要开始学习了。其实我写这篇文章,说不定技术是很低级的,而且很多东东也是学习人家的,不过,就当做事我学习的见证。毕竟刚一出来的学生,还不懂得那么多,让大家见证我的成长历程了。
好了,废话不多说了,尽管这也是废话。
WebClient类,在C#和Delphi中都存在,可以实现post数据提交到服务端,就是模拟你手工输入到表单,然后登陆。这里我比较关心的问题是,java自带的没有这么好的类,不过不用悲观,原来common是下有个httpClient类,可以借用这个类来实现类似的功能。
首先来进行一步步解析吧:
1.找个http/https抓包工具。我这里使用了HttpWatch。先打开www.126.com这个登录页面,你可以先用一个正确的账号登录,然后通过HttpWatch来查看一些信息:如:
我们可以提取,post的地址和请求参数的格式。这里分别为:
POST地址:
请求参数格式:
下一步使用WebClient类吧:
namespace MySpace
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
public class TestLogin
{
public static void Main(string[] args)
{
string postUrl = @" @"http://reg.163.com/logins.jsp?type=1&product=mail126&url=http://entry.mail.126.com/cgi/ntesdoor?hid%3D10010102%26lightweight%3D1%26verifycookie%3D1%26language%3D0%26style%3D-1";";
string postVal = @"";//自己写吧
byte[] postData = System.Text.Encoding.ASCII.GetBytes(postVal);
byte[] returnVal = _client.UploadData(url, postData);
Console.WriteLine("Return:" + System.Text.Encoding.UTF8.GetString(returnVal));
Console.ReadLine();
}
}
}
结果:

下次讲 java的实现,88
本文介绍如何使用C#中的WebClient类来模拟登录126邮箱的过程,包括抓取登录所需的POST地址及请求参数,并通过示例代码展示具体实现。
,小试牛刀之-------C# WebClient实现登录126邮箱。&spm=1001.2101.3001.5002&articleId=83638446&d=1&t=3&u=7114c8ecb34446e39421fdbc6184ee11)
1305

被折叠的 条评论
为什么被折叠?



