我想用Delphi访问网站上的ASP,怎么做好?(100分)

  • 主题发起人 主题发起人 Milpas
  • 开始时间 开始时间
M

Milpas

Unregistered / Unconfirmed
GUEST, unregistred user!
访问ASP页面取一些数据,和提交一些数据给ASP页面,数据量可能是10几K
怎么做好(主要是要稳定,编程简单),用什么控件,请大家推荐
 
用TWebBrowser
填充页面中的Edit等的值:
function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
var
i, j: Integer;
FormItem: Variant;
begin
Result := False;
//no form on document
if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
begin
Exit;
end;
//count forms on document
for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(I);
for j := 0 to FormItem.Length - 1 do
begin
try
//when the fieldname is found, try to fill out
if FormItem.Item(j).Name = FieldName then
begin
FormItem.Item(j).Value := Value;
Result := True;
end;
except
Exit;
end;
end;
end;
end;
 
不想用TWebBrowser
 
用IdHTTP
procedure TForm1.Button3Click(Sender: TObject);
var
s : string;
Response : TStringStream;
Request : TStrings;
begin
Response := TStringStream.Create('');
try
Request := TStringList.Create ;
try
s := 'test' + '=' + Trim(field2Value.Text);
s := s + '&' + 'test2' + '=' + Trim(field1Value.Text);
Request.Append(s);
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP1.Post(edtUrl1.Text,Request,Response);
Memo1.Lines.Text := Trim(Response.DataString);
finally
Request.Free ;
end;
finally
Response.Free ;
end;
end;
 
打到答案了
Memo1.Text := IdHTTP1.Get('http://xxxx.asp');

一条代码搞定呀
 
7syw, 老兄你真快.不过方法比我的麻烦一点

IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';

这个是用来干什么的? 请指教
 
后退
顶部