使用Delphi打开URL

时间:2010-07-21 15:54:44

标签: delphi freepascal lazarus

我正在为一位朋友做一点(或者至少我希望它很少),但是在10年左右的时间里没有使用Delphi ......而且我的搜索没有多少用处< / p>

我要做的是获取一个URL,然后解析HTML以找到他需要的一些信息。我希望这样的东西(在python中)fileHandle = urllib2.urlopen(urlStr),fileHandle会收到我请求的页面的HTML。我找到的所有示例都打开了默认浏览器,但是

我正在使用Linux,使用Lazarus和Free Pascal,如果重要的话,他正在使用Delphi 7(如果我没记错的话)。

感谢。

3 个答案:

答案 0 :(得分:6)

使用Indy,您可以使用TidHttp组件。

var
  http : TidHttp;
  page : String;
begin
  http := TidHttp.Create(nil);
  try
  page := http.get(URL);
  finally 
    http.Free;
  end;
end;

如果您需要其他格式的内容并且需要传递其他信息,则获取有多个重载版本。

答案 1 :(得分:0)

选项:

  1. 调用wget(您必须在Windows上安装)将页面下载到文本文件,然后打开它。

  2. 如果您想在Delphi中完全使用Indy或Synapse,请使用它。

  3. (我使用Synapse一直做这种事情。)

答案 2 :(得分:0)

在您的应用中使用TWebbrowser。 您可以获取文本框的值或单击页面中的按钮。

var
  ovElements: OleVariant;
  i: Integer;
begin
  ovElements := WebBrowser1.OleObject.document.Forms.item(0).elements;
  for i := 0 to (ovElements.Length - 1) do
    if (ovElements.item(i).Name = 'ASPxButton1') 

      (ovElements.item(i).Name = 'ASPxButton1') then
      ovElements.item(i).Click;

OR

WebBrowser1.OleObject.document.Forms.item(0)
        .elements.item
        ('ASPTEXTBOXNAME').value;