吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 875|回复: 14
上一主题 下一主题

[Delphi] 自写的某短信平台的类。需要的自取

[复制链接]
跳转到指定楼层
楼主
发表于 2017-11-14 23:27 | 只看该作者 回帖奖励 |倒序浏览
本板块禁止发布 “电子书资料” ,此类主题请发布至『电子书屋』
本板块禁止发布 “视频教程” ,此类主题请发布至『动画发布区』『动画精品转载区』
说明见图片
[Delphi] 纯文本查看 复制代码
unit SMS;    //速码平台

interface

type
  TSMS = class
  private
    Ftoken: string;
    Fpwd: string;
    Fuid: string;
    Fremain: string;
    Fjifen: string;
    FErrorNum: string;
    FphoneNum: string;
    procedure Settoken(const Value: string);
    procedure Setpwd(const Value: string);
    procedure Setuid(const Value: string);
    procedure Setremain(const Value: string);
    procedure Setjifen(const Value: string);
    function Readjifen: string;
    function Readremain: string;
    procedure SetErrorNum(const Value: string);
  public
    property uid: string read Fuid write Setuid;
    property pwd: string read Fpwd write Setpwd;
    property token: string read Ftoken write Settoken;
    property jifen: string read Readjifen write Setjifen;
    property remain: string read Readremain write Setremain;
    property ErrorNum: string read FErrorNum write SetErrorNum;
    constructor Create(uid: string; pwd: string);
    destructor Destroy; override;
    function getUserInfos: string;
    function getMobilenum(pid: Integer; mobile: string; province: string; phoneType: string): string; overload;
    function getMobilenum(pid: Integer): string; overload;
    function getVcodeAndReleaseMobile(size: Integer): string;
  end;

implementation

uses
  IdHTTP, System.Classes, System.SysUtils, System.RegularExpressions, Winapi.Windows,
  Vcl.Forms;

var
  http: TIdHTTP;
  x: Integer;

const
  url = 'http://api.eobzz.com/httpApi.do?action=';
{ TSMS }


function HaveSigned(MaxWaitTime: Cardinal): Boolean;
var
  I: Integer;
var
  WaitedTime: Cardinal;
begin
  WaitedTime := 0;
  while (WaitedTime < MaxWaitTime) do
  begin
    SleepEx(100, False);
    Inc(WaitedTime, 100);
    Application.ProcessMessages;
  end
end;

function TSMS.getMobilenum(pid: Integer; mobile: string; province, phoneType: string): string;
var
  ss: TStringStream;
begin
  x := 12;
  ss := TStringStream.Create('', TEncoding.UTF8);
  http.Get(url + 'getMobilenum&pid=' + IntToStr(pid) + '&uid=' + Fuid + '&token=' + Ftoken + '&mobile=' + mobile + '&size=1&province=' + province + '&phoneType=' + phoneType, ss);
  Result := TRegEx.Match(ss.DataString, '\d{11}').Value;
  FphoneNum := Result;
  ss.Free;
end;

function TSMS.getMobilenum(pid: Integer): string;
var
  ss: TStringStream;
begin
  x := 12;
  ss := TStringStream.Create('', TEncoding.UTF8);
  http.Get(url + 'getMobilenum&pid=' + IntToStr(pid) + '&uid=' + Fuid + '&token=' + Ftoken, ss);
  Result := TRegEx.Match(ss.DataString, '\d{11}').Value;
  FphoneNum := Result;
  ss.Free;
end;

function TSMS.getVcodeAndReleaseMobile(size: Integer): string;
var
  ss: TStringStream;
  pattern: string;
  arr: TArray<string>;
begin
  Result := '';
  pattern := '\d{' + inttostr(size) + '}';
  ss := TStringStream.Create('', TEncoding.UTF8);
  http.Get(url + 'getVcodeAndReleaseMobile&uid=' + Fuid + '&token=' + Ftoken + '&mobile=' + FphoneNum + '&author_uid=18252467187', ss);
  if ss.DataString = 'not_receive' then
  begin
    HaveSigned(5000);
    OutputDebugString(PChar(ss.DataString));
    Result := getVcodeAndReleaseMobile(size);

  end
  else
  begin
    if TRegEx.IsMatch(ss.DataString, FphoneNum) then
    begin
      arr := TRegEx.Split(ss.DataString, '\|');
      Result := TRegEx.Match(arr[1], pattern).Value;
    end
    else
    begin
      Result := ss.DataString;
    end;
  end;
  ss.Free;
end;

function TSMS.getUserInfos: string;
var
  ss: TStringStream;
  arr: TArray<string>;
begin
  ss := TStringStream.Create('', TEncoding.UTF8);
  http.Get(url + 'getUserInfos&uid=' + Fuid + '&token=' + Ftoken, ss);
  if TRegEx.IsMatch(ss.DataString, Fuid) then
  begin
    arr := TRegEx.Split(ss.DataString, ';');
    Fremain := arr[2];
    Fjifen := arr[1];
  end
  else
  begin
    ErrorNum := ss.DataString;
  end;

  ss.Free
end;

function TSMS.Readjifen: string;
begin
  getUserInfos;
  Result := Fjifen;
end;

function TSMS.Readremain: string;
begin
  getUserInfos;
  Result := Fremain;
end;

procedure TSMS.SetErrorNum(const Value: string);
begin
  FErrorNum := Value;
end;

procedure TSMS.Setjifen(const Value: string);
begin
  Fjifen := Value;
end;

procedure TSMS.Setpwd(const Value: string);
begin
  Fpwd := Value;
end;

procedure TSMS.Setremain(const Value: string);
begin
  Fremain := Value;
end;

procedure TSMS.Settoken(const Value: string);
begin
  Ftoken := Value;
end;

procedure TSMS.Setuid(const Value: string);
begin
  Fuid := Value;
end;

constructor TSMS.Create(uid: string; pwd: string);
var
  ss: TStringStream;
  Arr: TArray<string>;
begin
  ss := TStringStream.Create('', tencoding.utf8);
  Fuid := uid;
  Fpwd := pwd;
  http := TIdHTTP.Create();
  http.Get(url + 'loginIn&uid=' + Fuid + '&pwd=' + Fpwd, ss);
  if TRegEx.IsMatch(ss.DataString, Fuid) then
  begin
    Arr := TRegEx.Split(ss.DataString, '\|');
    token := Arr[1];
  end
  else
  begin
    token := '';
  end;
  ss.Free;
end;

destructor TSMS.Destroy;
begin
  http.Free;
  inherited;
end;

end.

JL8ZJSHB6Z3AC]8RO5YFKB4.png (44.29 KB, 下载次数: 0)

使用说明

使用说明

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

推荐
发表于 2017-11-22 20:24 | 只看该作者
难得看到还有人研究delphi,入门时学的也是delphi 7,惭愧都忘记怎么用了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

推荐
 楼主| 发表于 2017-11-14 23:29 | 只看该作者 |楼主
欢迎大神指正不足,小众的delphi 好像没什么人了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

藤椅
发表于 2017-11-14 23:42 | 只看该作者

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

板凳
发表于 2017-11-14 23:57 | 只看该作者
感谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

报纸
发表于 2017-11-15 00:44 | 只看该作者
谢谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

地板
发表于 2017-11-15 01:14 | 只看该作者
已弃delphi 7 使用免费开源Lazarus

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

7#
发表于 2017-11-15 02:35 | 只看该作者
刚花钱弄的手机注册账号 收短信

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

8#
发表于 2017-11-15 03:13 | 只看该作者
谢谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

9#
发表于 2017-11-15 03:43 | 只看该作者
谢谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

10#
发表于 2017-11-15 06:47 | 只看该作者
谢谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2017-11-24 02:20

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表