关于post and get(300分)

  • 主题发起人 主题发起人 人在昆明
  • 开始时间 开始时间

人在昆明

Unregistered / Unconfirmed
GUEST, unregistred user!
我要提交的连接
http://www.xxxxx.com/reg.asp?username = 1 userpassword = 1
已经用idhttp 提交,怎么打开提交后的页面??(这个没玩过)。
另外怎么知道一个程序是否 带参数运行,参数是什么??(这个问题也是300)
 
paramCount>1
 
楼上的什么意思??
 
有键盘的帮忙顶一下。
 
function GetInfo(const str: string): string;
const
SubColor = '<font color=red>';
SubCenter1 = '<center>';
SubCenter2 = '</center>';
var
S: string;
i, j, k: integer;
begin
Result := '';
S := str;

j := 0;
repeat
i := Pos(SubColor, LowerCase(S));
if i = 0 then break;
if Length(s) < (i + Length(SubColor) - 1) then Break;
Delete(S, 1, i + Length(SubColor) - 1);

i := Pos(SubCenter1, LowerCase(S));
if i = 0 then break else if i <= 10 then j := -1;
until j = -1;

k := Pos(SubCenter2, LowerCase(S));
S := Copy(S, i + Length(SubCenter1), k - i - Length(SubCenter1));

k := 0;
repeat
i := pos('<', s);
j := pos('>', s);
if (i = 0) or (j = 0) then Break;
Delete(s, i, j - i + 1);
Insert(' ', S, i);
until k = -1;
s := s + '.';
Result := s;
end;procedure TForm1.Button1Click(Sender: TObject);
var
Temp: string;
begin
//Memo1.Lines.Clear;
Memo1.Lines.Add('正在申请域名!');
try
Temp := IdHTTP1.Get('http://my.yeah.net/cgi-bin/register?username=' + Edit1.Text + '&domain=yeah.net'
+ '&password=' + Edit2.Text
+ '&password2=' + Edit3.Text
+ '&email=' + Edit4.Text
+ '&url='
+ 'http://' + ComboBox1.Text + '.com');
Memo1.Lines.Add(GetInfo(Temp));
except
Memo1.Lines.Add('申请域名错误!请检查网络!');
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Temp: string;
begin
//Memo1.Lines.Clear;
Memo1.Lines.Add('正在更新域名!');
try
Temp := IdHTTP1.Get('http://my.yeah.net/cgi-bin/modify?username=' + Edit1.Text + '&domain=yeah.net'
+ '&password=' + Edit2.Text
// +'&password2='+Edit3.Text
//+'&email='+Edit4.Text
+ '&url='
+ 'http://' + ComboBox1.Text + '.com');
Memo1.Lines.Add(GetInfo(Temp));
except
Memo1.Lines.Add('更新IP错误!请检查网络!');
end;
end;
 

procedure TForm1.Button5Click(Sender: TObject);
function ResultStr(const Str:String):String;
var
i,j,k:integer;
begin
Result:='';
i:=Pos('url=',Str);
if i=0 then Exit;
i:=i+4;
j:=Pos('<body>',Str);
if i=0 then Exit;
j:=j-2;
k:=j-i;
Result:=copy(Str,i,k);
end;
begin
showmessage(ResultStr(IdHTTP1.Get('http://lovejingtao.126.com')));
end;
 
procedure TFrmGsm2Mp3.FormCreate(Sender: TObject);
begin
My_Reg1; My_Reg2; My_Reg3;
if ParamCount<1 then Application.Terminate;
StrFile1:=ParamStr(1);
StrFile2:=ChangeFileExt(StrFile1,'.tmp');
if not(FileExists(StrFile1)) then Application.Terminate;
if FileExists(StrFile2) then if not(DeleteFile(StrFile2)) then Application.Terminate;
 
第一个问题测试中,第二个问题大家看错啦,
我不是问怎么写一个带参数运行的程序,是另外的一个exe
我能不能知道他是否是带参数运行的,参数是什么??
// 测试中,今日结贴,感谢参与。
 
谢谢jingtao 参与! 最近那里高就??
 
举手之劳,何必言谢?呵呵
暂时在一省级国家安全机构混饭吃.
 
改了一个,不敢独享。

procedure TFrmUrlCommit.CommitUrlData(vRefererUrl: OleVariant;
UserField, UserValue, PasswordField, PasswordValue: string;
OtherPostData: OleVariant);
// 内部小函数,把提交字符串写入variant;
function GetPostData(Content: string): OleVariant;
var
I: Integer;
begin
Result := VarArrayCreate([0, length(content)], varByte);
for i := 0 to Length(content) - 1 do
begin
Result := Ord(content[i + 1]);
end;
Result[Length(content)] := 0;
end;
// 内部小函数结束
var
vHeaders, vPostData, vFrame, vFlags, vCommitData: OleVariant;
aWBCommit: TWebBrowser;
begin
aWBCommit := TWebBrowser.Create(nil);
vHeaders := 'Content-Type: application/x-www-form-urlencoded' + #10#13#0;

if VarIsNull(OtherPostData) then
vCommitData := UserField + '=' + UserValue + '&' +
PasswordField + '=' + PasswordValue
else
vCommitData := UserField + '=' + UserValue + '&' +
PasswordField + '=' + PasswordValue + '&' + OtherPostData;
vPostData := GetPostData(vCommitData);
vFlags := 31;
TVarData(vPostData).vType := varArray;
aWBCommit.Navigate2(vRefererUrl, vFlags, vFrame, vPostData, vHeaders);
FreeAndNil(aWBCommit);
end;

调用过程:
CommitUrlData(
'http://10.10.1.1/sys_user/logined.jsp',
'user_name', 'test',
'user_pass', 'test',
'Submit=%CC%E1%BD%BB');
 
后退
顶部