Quick Start¶
This page shows the shortest path to each core capability. All examples use fake placeholder URLs.
1. Register Services¶
using Microsoft.Extensions.DependencyInjection;
using WebTools.NET.Abstractions;
var services = new ServiceCollection();
services.AddWebToolsCore(); // IWebAccessService
services.AddBrowserServices(); // Playwright engine (default)
var provider = services.BuildServiceProvider();
See Dependency Injection for engine selection and headless options.
2. Check URL Reachability¶
var webAccess = provider.GetRequiredService<IWebAccessService>();
var check = await webAccess.CheckReachabilityAsync("https://test.example.com");
Console.WriteLine(check.Reachable ? "Reachable" : check.ErrorMessage);
3. Search the Web¶
using WebTools.NET.Search;
using var ddg = new DuckDuckGoSearchProvider();
await using var search = new WebSearchAgent(ddg);
var result = await search.SearchAsync("dotnet web scraping", maxResults: 5);
if (result.Success)
{
foreach (var item in result.Results)
{
Console.WriteLine($"{item.Title} -> {item.Url}");
}
}
4. Fetch Page Content¶
var fetcher = provider.GetRequiredService<IWebContentFetcher>();
var content = await fetcher.FetchAsync("https://test.example.com");
if (content.Success)
{
Console.WriteLine(content.Content); // plain-text page content
Console.WriteLine(content.FinalUrl); // URL after redirects
}
5. Navigate and Extract Links¶
using WebTools.NET;
await using var agent = new WebNavigationAgent();
var links = await agent.NavigateAsync("https://test.example.com", maxLinks: 20);
foreach (var link in links)
{
Console.WriteLine(link); // verified reachable same-host links
}
Next Steps¶
- Web Search — providers, fallback queries
- Content Fetching — engines and timeouts
- WebNavigationAgent — navigation behavior in detail