Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #164 Open URL in the default browser

Open the URL s in the default browser.
Set the boolean b to indicate whether the operation was successful.

import "github.com/skratchdot/open-golang/open"
b := open.Start(s) == nil
func openbrowser(url string) {
	var err error

	switch runtime.GOOS {
	case "linux":
		err = exec.Command("xdg-open", url).Start()
	case "windows":
		err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start()
	case "darwin":
		err = exec.Command("open", url).Start()
	default:
		err = fmt.Errorf("unsupported platform")
	}
	if err != nil {
		log.Fatal(err)
	}

}
using System.Diagnostics;
var b = true;
try
{
    Process.Start(new ProcessStartInfo()
    {
        FileName = s,
        UseShellExecute = true,
    });
}
catch { b = false; }
import std.process;
browse(s);
uses LclIntf;
b := OpenUrl(s);
use Browser::Open qw(open_browser);
my $b = open_browser $s;
import webbrowser
webbrowser.open(s)
cmd = case  RbConfig::CONFIG['host_os']
  when  /mswin|mingw|cygwin/ then "start "
  when  /darwin/ then "open "
  when  /linux|bsd/ then "xdg-open "
  else raise "No OS detected"
end
    
b = system cmd + s
use webbrowser;
webbrowser::open(s).expect("failed to open URL");

New implementation...
< >
Bart