我正在做一个项目,可以检测钓鱼网站。即,当用户在浏览器中浏览网页时轻击链接时,将检查该链接是否为网络钓鱼网页。
但是,我不知道如何识别用户在执行点击操作时是否正在单击url。
此外,即使点击一个网址可以识别,如何提取字符串形式的网址,以便我可以检查链接?
似乎没有浏览器的API可供我使用。
发布于 2012-03-20 00:19:02
有一个API。使用IntentFilter。下面是一个例子。请注意,数据字段是可选的:
<activity
android:name="MyActivity"
android:label="@string/app_name" >
<intent-filter>
<data
android:host="127.0.0.1"
android:path="/path"
android:port="18080"
android:scheme="http" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>要获取Uri,请在您的活动中使用以下代码片段:
Intent intent = MyActivity.this.getIntent();
Uri uri = intent.getData();发布于 2012-03-20 00:26:03
您可以连接到默认的浏览器应用程序。某些浏览器数据可通过内容提供商获得。下面的代码将为您提供用户访问过的URL列表:
String columns[] = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.DATE, Browser.BookmarkColumns._ID };
Cursor c = managedQuery(Browser.BOOKMARKS_URI, columns, "bookmark!=1", null, null);您可以在浏览器历史记录中放置一个ContentObserver,以便在用户访问新页面时得到通知。这样,即使用户安装了非标准浏览器,也应该向您发出警报。
getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true, new MyContentObserver(handler));发布于 2012-03-20 00:13:28
您不能连接到默认的浏览器应用程序。您将需要编写自己的WebBrowser应用程序,它将允许您拦截网页上的点击。
https://stackoverflow.com/questions/9773666
复制相似问题