RemoteDesktop
using BrowserService svc = new("YOUR CLOUDBROWSER.AI TOKEN");
var rp = await svc.Open().ConfigureAwait(false);
if (rp.Status == CloudBrowserAiSharp.Browser.Types.ResponseStatus.Succes) {
Console.WriteLine("Browser requested");
} else {
Console.WriteLine("Error requesting browser: {0}", rp.Status.ToString());
return;
}
var browser = await Puppeteer.ConnectAsync(new() {
BrowserWSEndpoint = rp.Address,
DefaultViewport = null,
AcceptInsecureCerts = true,
SlowMo = 0
}).ConfigureAwait(continueOnCapturedContext: false);
Console.WriteLine("Browser connected");
// Start the remote desktop session
var rmt = await svc.StartRemoteDesktop(rp.Address).ConfigureAwait(false);
Console.WriteLine("Remote desktop address:");
Console.WriteLine($"https://browser.cloudbrowser.ai${ObtainId(rp.Address)}/{rmt.Password}");
// Wait for 5 seconds to simulate the usage of the remote desktop
await Task.Delay(5000).ConfigureAwait(false);
// Stop the remote desktop session
await svc.StopRemoteDesktop(rp.Address).ConfigureAwait(false);
Console.WriteLine("Remote Desktop closed");
}
// Function to extract the ID from the browser WebSocket address
static string ObtainId(string address) {
string pattern = @"\.ai\/(.*?)\/devtools";
var match1 = Regex.Match(address, pattern);
return match1.Groups[1].Value;
}Full example
How It Works
Last updated