问题描述:
要求:
几个复选框,每个复选框右边一个网址,页面左下角可以自己输入用户名,密码,
选择复选框之后点击 注册 按钮,可以往选定的网址完成注册操作.
知道实现原理的兄弟说下过程也行...
当然能帮我做出来更好,先给100,原理可行,再给100,全部家当了.大家帮忙下,谢谢
关键的是那些网站的外部注册接口,是不为人知的.....起码很少人知道,或者没有
谢谢大家了,这问题搞不定,我也不能给分,还是谢谢大家
问题解答:
如果你是域名注册代理商,那么互联网信息中心会给你注册接口的,否则你只能通过其它网站注册页面注册了(或别人网站提供的接口)。
当然,您也可以自己可以写一个程序模拟用户在 Web 页面上注册,实现您的目的,但存在一个问题就是:如果该网页有图片验证码,可能就会非常麻烦甚至难以实现(目前对复杂的图片验证码识别还是一个技术难题,如:雅虎注册邮箱是的图片验证码,目前就没有解决办法)。
所谓模拟用户在 Web 页面上注册,其实就你自己写程序对网站进行 GET 或 POST 请求,在 .NET 类库里面封装了相关的类(在 System.Net 命名空间下面),编写十分简单。
一小段代码演示:
void GetPage()
{
System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create("URL地址");
System.IO.Stream stream = request.GetRequestStream();
// 假设注册用户名、密码,分别是 username、password 这 2 个表单域
string data = "username=MyUsername&password=MyPassword";
request.ContentLength = System.Text.Encoding.UTF8.GetByteCount(data); // 设置 POST 请求的数据长度
stream.Write(System.Text.Encoding.UTF8.GetBytes(data)); // 将字符串使用 UTF-8 编码方式转换成二进制数据(即:byte[])并提交到服务器
System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.StreamReader reader = response.GetResponseStream();
string page = reader.ReadToEnd(); // 从服务器获取结果页面。
/*
这里放置您用于解析服务器返回结果的程序代码
*/
}
在实际编程中,很多服务器都会想办法阻止,程序自动注册行为,但都是可以通过技术解决的,目前技术上较为麻烦的还是“图片验证码”。
使用webService
每个网站都需要有自己的webService,里面提供用来注册的webMethod(web方法),
只需要在winForm中依次调用这些方法就可以了
前提条件是该网站留有外部注册接口,否则是行不通的。。。