用idhttp实现登陆139邮箱
网址 mail.139.com
其中必须要得到它的验证码
请给个具体的实现方法,谢谢了

解决方案 »

  1.   

    郁闷 ,没人会吗???现在我想了一个笨方法,,,在返回的登陆源码里找到验证码地址,然后截取这个地址,在webbrowser中打开。。
    郁闷 啊
      

  2.   

    兄弟,如果要做自动登陆.你要模糊识别上面的验证码呀.用TIMAGE+IE的HTML处理,基本上可以把图片读出来,但要识别出是几,正确率很难达到100%的.
      

  3.   

    我现在用一个笨的方法能够得到验证码了,,,可是我不知道怎么提交啊
    它的FORM的ONclick调用的是一个javascript我不知道提交URL是多少啊<div id="mainRight">
    <!-- 登录 -->
    <div class="loginBar">
    <div class="loginTitle"><b>登录</b> &nbsp; 手机号或别名均可登录!</div>
    <div class="login">
    <ul>
    <li>用户名</li><li class="col1">
      <input name="NUM" id="mobileNum" type="text" onMouseOver="Input(this, 1);" onMouseOut="Input(this, 0);" />
    </li><li class="col2" title="@139.com"></li>
    <li>密&nbsp;&nbsp;&nbsp;码</li><li class="col1">
      <input name="PASSWORD" id="mobilePassword" type="password" onMouseOver="Input(this, 1);" onMouseOut="Input(this, 0);" />
    </li><li class="col3"> <a href="javascript:void(0);" onclick="getLocation('resetPwd');" >忘记密码</a></li>
    <li>验证码</li>
    <li class="col1">
      <input id="status" name="status" type="text" onMouseOver="Input(this, 1);" onMouseOut="Input(this, 0);" />
    </li>
    <li class="col3" title="@139.com"></li>
    <li class="col4"><img src="/m4center/verifyImage?statusID=107006&amp;bindID=1236930618092&amp;serverID=26" border="0" id="verifyImageId" alt="" width="113" />&nbsp;<span> <a href="#" onClick="refreshVerifyImage();" onfocus="this.blur();">再换一个</a></span></li>
    <li class="col5"><input name="rememberPwd" id="rememberPwd" type="checkbox" class="inp" /> 记住用户名和密码</li>
    <li class="col5">
      <input name="subbot" id="subbot" type="button" value="登 &nbsp;&nbsp; 录" onClick="getRedirectUrl();" class="inp1A" onMouseOver="this.className='inp1B'" onMouseOut="this.className='inp1A'" onFocus="this.blur();" />
      &nbsp;<span style="padding-left:15px;"><a href="javascript:void(0);" onclick="getMsgPwd();" class="b1">短信密码(广东)</a></span>
    </li>
    </ul>
    </div> 
    </div>
    <!-- 登录Bar End -->
      

  4.   

    登陆邮箱收信可以尝试用idpop3
      

  5.   

    const
    LoginUrl=''''http://www.csdn.net/member/logon.asp'''';MyCookList:string;//全局变量,取得当前用户的Cookie
    IdHTTP1: TIdHTTP;登录CSDN:
    function Logon(UserName, PassWord, CookieTime: string):boolean;
    var
    LoginInfo: TStrings;
    Response: TStringStream;
    i: Integer;
    Cookie:string;
    begin
    Result :=False;
    Cookie:='''''''';
    MyCookList :='''''''';
    Response := TStringStream.Create('''''''');
    LoginInfo := TStringList.Create;
    try
    LoginInfo.Clear;
    LoginInfo.Add(''''login_name='''' UserName);
    LoginInfo.Add(''''password='''' PassWord);
    LoginInfo.Add(''''from=http://community.csdn.net/Expert/Forum.asp'''');
    LoginInfo.Add(''''cookietime='''' CookieTime);
    LoginInfo.Add(''''x=0'''');
    LoginInfo.Add(''''y=0''''); 
    IdHTTP1.Request.Referer:=''''http://www.csdn.net/member/logon.asp'''';
    IdHTTP1.Request.From :=''''http://community.csdn.net/Expert/Forum.asp'''';
    try
    IdHTTP1.Post(LoginUrl,LoginInfo,Response);
    except
    showmessage(''''登陆失败'''');
    end;
    showmessage(Response.DataString);
    //从返回的页面中找出cookie
    for i :=0 to IdHTTP1.Response.RawHeaders.Count-1 do
    begin
    if UpperCase(Copy(IdHTTP1.Response.RawHeaders[i],1,10)) = ''''SET-COOKIE'''' then
    begin
    Cookie :=Trim(Copy(IdHTTP1.Response.RawHeaders[i],12,MAXINT));
    Cookie :=Copy(Cookie,1,Pos('''';'''',Cookie));
    MyCookList :=MyCookList Cookie;
    // showmessage(Cookie);
    end;
    end;
    IdHTTP1.Request.RawHeaders.Add(''''Cookie: '''' MyCookList);
    finally
    LoginInfo.Free;
    Response.Free;
    end;
    if length(MyCookList)>200 then
    result:=True;
    end;
      

  6.   

    发信的话,直接用SMTP:smtp.139.com ,这个就好了撒
      

  7.   

    去申请短信网关,何必这么麻烦去模拟登陆,http://www.smsgate.cn/