软件登录软件 DIY
软件登录软件 DIY
Http 协议是 Web 服务的主要协议之一,网页的浏览和网站动态数据的提交就是由这个协议实现的。实现的过程是通过 Http 会话,向 Web 服务器进行数据请求(读取、存储等)。
我们编程中常用的有 POST 和 GET 数据请求。POST 可以用于把用户输入的数据以数据流的方式传给 CGI(ASP、JSP) 程序,CGI 再通过 Contect-Length 环境变量来取相应长度的数据流信息。如果数据提交成功,服务器将产生正常应答,其头部信息为:
HTTP/1.1 200 OK
网站登录是通过用户填写登录信息,由 CGI 程序向 Web 服务器提交来实现的。以 Sohu 网站的免费网站提交为例:首先由 Sohu 主页面进入网站登录界面,选择网站的登录类别,然后填写网站的信息:这个过程由 2 步组成,第一步填写网站的名称和网站地址(http://…),第二步填写一些详细信息,然后就可以提交了。真正实现数据保存的是第二步,其核心网页代码(简化)为:
<form name="form1" method="POST"
action="/regurl/regform.asp?Step=Create&Class=C016015005002
&sitename=网站名称&url=http://网站地址"
οnsubmit="return checkform()">
<input type="hidden" name="Step" value="Create">
网站描述:
<textarea name="Description" rows="2" cols="60"></textarea>
……
</form>
(注:C016015005002 因选择的网站类别而不同)
我们的程序就是通过利用经过 Delphi 完美封装的 TNMHttp 组件,模拟网页中的按钮 Submit 提交,来实现用程序代码进行网站的快速、准确注册。
本例中,笔者的程序可以圆满的完成网站“十万个为什么”(http://helps100000.yeah.net)的登录,登录在“首页>公司企业>计算机与互联网>计算机软件>数据库”类目下。程序的界面组件为:1 个 WebBrowser 组件,3 个 Memo 组件,分别用来显示登录后的反馈页面和一些提示信息。1 个 NMHTTP1 组件,是本程序的核心组件。还有一个 Button 按钮。
其实程序的核心代码也就一句:
NMHTTP1.Post('http://db.sohu.com/regurl/regform.asp?
Step=Create&Class=C016015005002&sitename=十万个为什么
&url=http://helps1000000.yeah.net','PostData.txt');
其中,Post 方法有 2 个参数,第 1 个参数代表 form 表单的 action 部分,第 2 个参数是 <input> 标签中各参数的取值组成的字符串。由于 NMHTTP1 的 OutputFileMode 属性被设置为 true,所以第 2 个参数的字符串被放在一个外部文本文件 PostData.txt 中,PostData.txt 的内容为(不分行):
Description=探讨计算机技术收集应用技巧&Keywords=计算机技巧
&district=山系&city=西安&Contact=张庆&EMail=zhangking@263.net&memo=no
该字符串是通过分析网页代码得到的。
程序运行后,点击“网站注册”按钮,如果机器已经连接到 Internet 上,就会像在网页中进行网站注册一样,很快在 WebBrowser1 中返回“注册成功”或“错误:该网站已经注册”页面。
本程序在 Windows98、IE5.0、Delphi5.0 环境下调式成功。我们完全可以在此基础上,运用多线程等技术,做成一个类似“登录骑兵”一类的实用软件。
//程序的完整源代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, OleCtrls, SHDocVw, Psock, NMHttp, ExtCtrls;
type
TForm1 = class(TForm)
NMHTTP1: TNMHTTP;
Panel1: TPanel;
Button1: TButton;
Memo3: TMemo;
Memo2: TMemo;
Memo1: TMemo;
Panel2: TPanel;
WebBrowser1: TWebBrowser;
procedure Button1Click(Sender: TObject);
procedure NMHTTP1Success(Cmd: CmdType);
procedure NMHTTP1Failure(Cmd: CmdType);
procedure FormCreate(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('about:blank');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
With NMHTTP1 do
Begin
InputFileMode :=False;
OutputFileMode :=True;
ReportLevel :=Status_Basic;
end;
With NMHTTP1.HeaderInfo do
begin
Cookie :='';
LocalMailAddress :='';
LocalProgram :='';
Referer :='';
UserID :='';
Password :='';
try
NMHTTP1.Post('http://db.sohu.com/regurl/regform.asp?
Step=Create&Class=C016015005002&sitename=十万个为什么
&url=http://helps1000000.yeah.net','PostData.txt');
except
showMessage(' Error! ');
end;
End;
end;
procedure TForm1.NMHTTP1Success(Cmd: CmdType);
begin
Case Cmd of
CmdPOST:
begin
Memo1.Text := NMHTTP1.Header;
Memo2.Text := NMHTTP1.Body;
WebBrowser1.OleObject.document.body.innerHTML :=NMHTTP1.Body;
Memo3.Lines.Add('HTTP POST Successful');
end;
end;
end;
procedure TForm1.NMHTTP1Failure(Cmd: CmdType);
begin
Memo1.Text := NMHTTP1.Header;
Memo2.Text := NMHTTP1.Body;
case Cmd of
CmdPOST:
Memo3.Lines.Add('HTTP Post Failed');
end;
end;
end.
------------------------------------------------
张庆(西安 Net-e 软件系统工程公司)
Email: zhangking@263.net
http://soft.why100000.com
软件登录软件 DIY相关推荐
- 【开发环境】安装 Visual Studio Community 2013 版本 ( 安装软件 | 通过 GitHub 账号登录软件 | 启动软件 | 安装中文语言包 )
文章目录 一.安装 Visual Studio Community 2013 二.登录并启动 Visual Studio Community 2013 三.安装 Visual Studio Commu ...
- putty保存用户名和密码_使用PuTTY远程登录软件登录 Linux 实例
本文以 PuTTY 软件为例,介绍如何在 Windows 系统的本地电脑中使用远程登录软件登录 Linux 实例. 使用密码登录 下载 Windows 远程登录软件,即 PuTTY. PuTTY 的获 ...
- 【T3】win10系统成功注册加密锁后,登录软件依然提示“产品未找到合法的license授权”
问题描述: win10环境下,加密锁已经提示注册成功, 但是登录系统管理点击注册, 提示"产品未找到合法的license授权". 并且全盘搜索,找不到.cjt文件. 问题解决: 查 ...
- 因测试和登录软件微信被封,淘客必须注意,微信封号原则是什么?
微信封号的原则是什么? 微信封号不是随便乱封,它既遵循机器算法,也关注用户的实际体验. 一旦同时满足以下两个条件: 1.系统检测到异常操作; ·2.用户投诉举报.即被封号. 意思是,必须同时满足两个条 ...
- 【T+】删除/取消畅捷通T+软件登录界面右上角的授权单位等联系信息
[本文是针对小编自己的需求进行整理的,并且在小编的积极努力下将需求进行解决.如对您有帮助,请点个赞.加个关注,这样会大大提高小编的积极性.] [问题需求] 使用畅捷通T+本地安装产品,并激活后, 软件 ...
- sql server登陆失败连接失败_管家婆软件登录时提示“连接失败,请输入正确的服务器名”解决方法...
一.常规检查 当软件出现无法登录软件问题时,请先检查电脑的右下角任务栏位置管家婆所需的3个 服务器是否均已运行,如果是网络版请先到服务器端去确认. 管家婆服务器,如图 管家婆套接字服务器(辉煌 ...
- 远程登录软件S-Term简介
S-Term (也写作Sterm)是一个能在 Windows 平台下运行的远程登陆软件,支持 Telnet.SSH(包括SSH1 和 SSH2) 协议连接,支持 Zmodem协议上载文件,还支持 Ac ...
- ftp,ftp软件登录不上
在使用ftp软件过程中,经常会出现登录不了问题,今天小编就教大家如何解决ftp软件登录不上问题.具体操作方法如下: IIS7服务器管理工具可以批量管理.定时上传下载.同步操作.数据备份.到期提醒.自动 ...
- 登录医疗机构无法连接到远程服务器,敬业签桌面便签软件登录提示“无法连接到远程服务器”解决办法...
原标题:敬业签桌面便签软件登录提示"无法连接到远程服务器"解决办法 无法连接到远程服务器 部分Win7/WinXP用户安装敬业签桌面便签软件后,登录敬业签PC端桌面便签软件账号时提 ...
最新文章
- Windows CE 6.0正式发布 源代码100%开放
- 如何做会员排名 按照投稿文章数量
- educoder SML程序设计题线下编译环境搭建
- 小程序之旅——第六站(模板首页)
- Python sqlalchemy orm 多外键关联
- win10系统的服务器在哪里设置密码,window10怎么设置密码
- android文件读取工具类,Android 下读取Assets Properties操作封装工具类
- 高阶多项式合并同类项程序c语言,c语言实现两多项式相乘并排序合并同类项.doc...
- 成功的本质是——做减法
- FISCO BCOS区块链搭建说明(第一篇)
- 空间数据挖掘与空间大数据的探索与思考(三)
- hive 查询表Wrong FS: hdfs://node1/user/hive/warehouse/test1.db, expected: hdfs://node1.zjn.cn:8020/
- MySQL高级篇——锁的概述与案例应用
- perl学习笔记16 z
- Django REST Framework中的Serializer relations
- Premiere 快捷键
- 颜色转换rgb24 to yuv420
- VueJs中的reactive函数
- InnerHTML、InnerText、outerHTML的用法与区别
- 架构进化的本质——用一个例子讲清楚
热门文章
- 航测无人机las点云数据生成DEM
- HTML+CSS错题整理
- 明明输给了 SpaceX,OneWeb 为什么还能拿到英国政府的钱?
- 冰蝎Behinder_v4.0
- 我的无线宽带由器 TP-LINK TL-WR841N如何设置限
- turtle更多函数 难度0
- 打破“中规中矩”,手机QQ何以萌翻众人?
- ldquo;未来middot;互联网rdquo;论坛:演讲环节中规中矩,媒体访谈出现ldquo;笑话rdquo;
- 服装店铺装修有哪些窍门?做好这3点,顾客主动上门
- C语言输出所有水仙花数字