使用Delphi中的TWebBrowser组件导航到随机网站

问题描述 投票:-2回答:3

我希望导航到TWebBrowser组件中的随机网站。网上有数百万个网站,但我如何选择一个随机网站并在网页浏览器中导航到它。

我打算制作一个非常基础的应用程序。其中一个按钮是随机网站按钮,将用户带到随机网站。

我正在使用Delphi XE6。我该怎么做呢?

delphi random web delphi-xe6
3个回答
3
投票

您需要一个可供选择的网站来源。要么自己制作一个列表,要么使用websites that make you jump to a random web site之一,如The Useless Web(正如它所说的是一些无用的网站)或Random Website MachineWhatsMyIp.com

如果您可以自行删除中间站点的代码,则可以自己使用它,否则必须加载它并执行按钮单击。

我也试过Randomwebsite,但如果加载失败。这显示了这种方法的缺点:您依赖于中间站点的可用性。 但是如果你使用自己的列表,你还必须检测已经消失的网站并提供一个新的网站。


1
投票

你可以使用谷歌“我感觉很幸运”链接:

WebBrowser.Navigate('http://www.google.com/search?q=TEST&btnI');

这实际上是一个搜索,所以用您喜欢的任何值更改TEST搜索字符串:book,kitten,fluffy + animals,...


0
投票

所以5年后我终于决定正确回答我自己的问题了。这是我写的一个函数,用于导航到互联网上的随机网站:

procedure RandomWebsite;
const
  A = 'qwertyuioplkjhgfdsazxcvbnm';
var
  i: Integer;
  s: String;
begin
  s := '';
  for i := 1 to random(20) do
    s := s + A[random(A.Length)];
  s := s + '.com';

  try
    IdIcmpClient1.Host := s;
    IdIcmpClient1.Ping();
    Webbrowser1.Navigate(s);
  except
    RandomWebsite;
  end;
end;

我正在使用INDY的TIdIcmpClient组件来ping主机,看看网站是否存在。如果网站存在,那么我导航到它。如果它不存在,那么我尝试不同的主机URL。

我的书面程序很简单。您可以对其进行修改以满足您的需求并使其更加“随机”。我的例子只有.com域名和其中的字母。

对于大多数寻求此解决方案的人来说,这个例子应该足够了解如何使用Delphi TWebBrowser导航到随机网站。

© www.soinside.com 2019 - 2024. All rights reserved.