获取验证码图片

时间:2021-12-24 11:46:47
公司在做个项目需要收集盛大的验证码,特意写了下面的代码,呵呵!几分钟保存了1万多张.如果人工保存工作量不敢想像! 不过有点搞笑,VB和C#都用上了!
获取验证码图片获取验证码图片
 1获取验证码图片using System;
 2获取验证码图片using System.Data;
 3获取验证码图片using System.Configuration;
 4获取验证码图片using System.Collections;
 5获取验证码图片using System.Web;
 6获取验证码图片using System.Web.Security;
 7获取验证码图片using System.Web.UI;
 8获取验证码图片using System.Web.UI.WebControls;
 9获取验证码图片using System.Web.UI.WebControls.WebParts;
10获取验证码图片using System.Web.UI.HtmlControls;
11获取验证码图片using System.Net;
12获取验证码图片using System.Text;
13获取验证码图片using System.Net.Sockets;
14获取验证码图片using System.IO;
15获取验证码图片
16获取验证码图片public partial class bb : System.Web.UI.Page
17获取验证码图片获取验证码图片{
18获取验证码图片    protected void Page_Load(object sender, EventArgs e)
19获取验证码图片获取验证码图片    {
20获取验证码图片        IPHostEntry ipHostEntry = Dns.Resolve("esales.16288.com");
21获取验证码图片        IPAddress address = ipHostEntry.AddressList[0];
22获取验证码图片        IPEndPoint point = new IPEndPoint(address, 80);
23获取验证码图片        Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
24获取验证码图片        try
25获取验证码图片获取验证码图片        {
26获取验证码图片            client.Connect(point);
27获取验证码图片            string s = "GET  /  HTTP/1.0/n Accept: */* /nUser-Agent: Mozilla/4.0.(compatible; MSIE.6.0; Windows NT 5.1) /n HOST: esales.16288.com /n Connection:Keep-Alive/n/n";
28获取验证码图片            //string s = "GET /homepage.aspx  HTTP/1.0/n User-Ageng: Mozilla/4.0.(compatible; MSIE.6.0; Windows NT 5.1) /n HOST: esales.16288.com /n Connection:Keep-Alive/n/n";
29获取验证码图片            byte[] msgs = Encoding.Default.GetBytes(s);
30获取验证码图片            client.Send(msgs);
31获取验证码图片            byte[] bytes = new byte[4096];
32获取验证码图片
33获取验证码图片            int count;
34获取验证码图片            string str = "";
35获取验证码图片            count = client.Receive(bytes);
36获取验证码图片            while (count > 0)
37获取验证码图片获取验证码图片            {
38获取验证码图片
39获取验证码图片                str += Encoding.Default.GetString(bytes, 0, count);
40获取验证码图片                count = client.Receive(bytes);
41获取验证码图片            }

42获取验证码图片
43获取验证码图片            //str是返回的内容
44获取验证码图片            StreamWriter objSW = File.CreateText(Server.MapPath("body.txt"));
45获取验证码图片            objSW.WriteLine(str);
46获取验证码图片            objSW.Close();
47获取验证码图片
48获取验证码图片        }

49获取验证码图片        catch (Exception ex)
50获取验证码图片获取验证码图片        {
51获取验证码图片
52获取验证码图片        }

53获取验证码图片        finally
54获取验证码图片获取验证码图片        {
55获取验证码图片            client.Shutdown(SocketShutdown.Both);
56获取验证码图片            client.Close();
57获取验证码图片        }

58获取验证码图片    }

59获取验证码图片    protected void Button1_Click(object sender, EventArgs e)
60获取验证码图片获取验证码图片    {
61获取验证码图片       
62获取验证码图片
63获取验证码图片    }

64获取验证码图片    
65获取验证码图片}

66获取验证码图片
获取验证码图片获取验证码图片
  1获取验证码图片Imports System
  2获取验证码图片Imports System.Data
  3获取验证码图片Imports System.Configuration
  4获取验证码图片Imports System.Collections
  5获取验证码图片Imports System.Web
  6获取验证码图片Imports System.Web.Security
  7获取验证码图片Imports System.Web.UI
  8获取验证码图片Imports System.Web.UI.WebControls
  9获取验证码图片Imports System.Web.UI.WebControls.WebParts
 10获取验证码图片Imports System.Web.UI.HtmlControls
 11获取验证码图片Imports System.Net
 12获取验证码图片Imports System.Text
 13获取验证码图片Imports System.Net.Sockets
 14获取验证码图片Imports System.IO
 15获取验证码图片
 16获取验证码图片获取验证码图片Public Class Default2
 17获取验证码图片    Inherits System.Web.UI.Page
 18获取验证码图片
 19获取验证码图片    '{
 20获取验证码图片获取验证码图片    Protected Sub Page_Load(ByVal s As ObjectByVal e As EventArgs)
 21获取验证码图片        '{
 22获取验证码图片
 23获取验证码图片        '}
 24获取验证码图片    End Sub

 25获取验证码图片
 26获取验证码图片获取验证码图片    Protected Sub Button1_Click(ByVal s As ObjectByVal e As EventArgs)
 27获取验证码图片
 28获取验证码图片        '{
 29获取验证码图片        Dim i As Integer
 30获取验证码图片        For i = 0 To 1000
 31获取验证码图片            ' Response.Write(GetCanshu("1") + "<br><br>")
 32获取验证码图片            ' Response.Write(GetCanshu("2") + "<br>")
 33获取验证码图片            ' Response.End()
 34获取验证码图片
 35获取验证码图片            Dim ipHostEntry As IPHostEntry = Dns.Resolve("esales.16288.com")
 36获取验证码图片            Dim address As IPAddress = ipHostEntry.AddressList(0)
 37获取验证码图片            Dim point As IPEndPoint = New IPEndPoint(address, 80)
 38获取验证码图片            Dim r As Random
 39获取验证码图片            r = New Random
 40获取验证码图片            Dim RanNum As String = r.Next(10000888888)
 41获取验证码图片            Dim client As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
 42获取验证码图片            Dim s1 As String = "GET /Validator/valid" + GetCanshu("2"+ ".aspx?0." + RanNum + "  HTTP/1.0" + vbCrLf + "User-Agent: Mozilla/4.0.(compatible; MSIE.6.0; Windows NT 5.1) " + vbCrLf + "HOST: esales.16288.com" + vbCrLf + "Cookie:ASP.NET_SessionID=" + GetCanshu("1"+ ";path=/;HttpOnly" + vbCrLf + vbCrLf
 43获取验证码图片            ' Response.Write(s1.Replace(Chr(13), "<br/>"))
 44获取验证码图片            Try
 45获取验证码图片                '{
 46获取验证码图片                client.Connect(point)
 47获取验证码图片                'Dim r As Random = New Random()
 48获取验证码图片                'Dim RanNum As String = r.Next(1123, 99999)
 49获取验证码图片                '//string s = "GET /bby/website/GetValidateCodeImage.aspx?Digits=4&Width=80&Height=20  HTTP/1.0/nHOST: 192.168.1.27 /nCookie:ASP.NET_SessionID="+TextBox1.Text.Trim()+"; path=/; HttpOnly/n/n";
 50获取验证码图片
 51获取验证码图片                Dim msgs As Byte() = Encoding.Default.GetBytes(s1)
 52获取验证码图片
 53获取验证码图片                client.Send(msgs)
 54获取验证码图片                Dim bytes(4096As Byte
 55获取验证码图片
 56获取验证码图片                Dim count As Integer    'int ;
 57获取验证码图片
 58获取验证码图片                Dim str As String = ""
 59获取验证码图片                Dim stream As FileStream = New FileStream(Server.MapPath(New Random().Next(199999).ToString + DateTime.Now.Ticks.ToString + " .gif"), FileMode.Create)
 60获取验证码图片
 61获取验证码图片                Dim writer As BinaryWriter = New BinaryWriter(stream)
 62获取验证码图片
 63获取验证码图片                count = client.Receive(bytes)
 64获取验证码图片                writer.Write(bytes, 224, count - 224)
 65获取验证码图片                While (count > 0)
 66获取验证码图片                    ' {
 67获取验证码图片
 68获取验证码图片                    ' //str += Encoding.UTF8.GetString(bytes, 0, count);
 69获取验证码图片
 70获取验证码图片
 71获取验证码图片                    count = client.Receive(bytes)
 72获取验证码图片                    writer.Write(bytes, 0, count)
 73获取验证码图片                    '}
 74获取验证码图片                End While
 75获取验证码图片
 76获取验证码图片
 77获取验证码图片
 78获取验证码图片                writer.Close()
 79获取验证码图片                stream.Close()
 80获取验证码图片
 81获取验证码图片
 82获取验证码图片                '}
 83获取验证码图片            Catch ex As Exception
 84获取验证码图片
 85获取验证码图片                Response.Write(ex.Message)
 86获取验证码图片            Finally
 87获取验证码图片                ' {
 88获取验证码图片                client.Shutdown(SocketShutdown.Both)
 89获取验证码图片                client.Close()
 90获取验证码图片            End Try
 91获取验证码图片        Next
 92获取验证码图片        '{
 93获取验证码图片        ' //SendMessage(ex.Message.ToString() + "<EOF>");
 94获取验证码图片        '}
 95获取验证码图片
 96获取验证码图片        '}
 97获取验证码图片
 98获取验证码图片        '}
 99获取验证码图片    End Sub

100获取验证码图片获取验证码图片    Function GetCanshu(ByVal a As StringAs String
101获取验证码图片        Dim str As String
102获取验证码图片        Dim objStream As StreamReader = File.OpenText(Server.MapPath("body.txt"))
103获取验证码图片        str = objStream.ReadToEnd()
104获取验证码图片        objStream.Close()
105获取验证码图片        'Dim a As String = "1"
106获取验证码图片        If (a = "1"Then
107获取验证码图片            '{
108获取验证码图片            Dim array As Array '  string[] array;
109获取验证码图片            array = Split(str"SessionId=")
110获取验证码图片            Dim canshu1 As String = Mid(array(1), 124)
111获取验证码图片            GetCanshu = canshu1
112获取验证码图片            '  Response.Write(canshu1)
113获取验证码图片            '}
114获取验证码图片            Exit Function
115获取验证码图片        Else
116获取验证码图片            ' {
117获取验证码图片            Dim array1 As Array '  string[] array1;
118获取验证码图片            array1 = Split(str"Validator/valid")
119获取验证码图片            Dim canshu2 As String = Mid(array1(1), 17)
120获取验证码图片            GetCanshu = canshu2
121获取验证码图片            ' Response.Write(canshu2)
122获取验证码图片            Exit Function
123获取验证码图片        End If
124获取验证码图片    End Function

125获取验证码图片
126获取验证码图片
127获取验证码图片
128获取验证码图片
129获取验证码图片End Class

 

http://www.cnblogs.com/dotnetblog/archive/2006/11/10/556956.html