我希望导航到TWebBrowser
组件中的随机网站。网上有数百万个网站,但我如何选择一个随机网站并在网页浏览器中导航到它。
我打算制作一个非常基础的应用程序。其中一个按钮是随机网站按钮,将用户带到随机网站。
我正在使用Delphi XE6。我该怎么做呢?
您需要一个可供选择的网站来源。要么自己制作一个列表,要么使用websites that make you jump to a random web site之一,如The Useless Web(正如它所说的是一些无用的网站)或Random Website Machine的WhatsMyIp.com
。
如果您可以自行删除中间站点的代码,则可以自己使用它,否则必须加载它并执行按钮单击。
我也试过Randomwebsite,但如果加载失败。这显示了这种方法的缺点:您依赖于中间站点的可用性。 但是如果你使用自己的列表,你还必须检测已经消失的网站并提供一个新的网站。
你可以使用谷歌“我感觉很幸运”链接:
WebBrowser.Navigate('http://www.google.com/search?q=TEST&btnI');
这实际上是一个搜索,所以用您喜欢的任何值更改TEST搜索字符串:book,kitten,fluffy + animals,...
所以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导航到随机网站。