2016-08-24 2 views
-4

J'ai remarqué si vous visitez l'url de votre dépôt git, par exemple
https://github.com/user/project/releases/latest
vous automatiquement redirigés vers la dernière version
https://github.com/user/project/releases/tag/1.3Contactez un site web et obtenir l'URL de redirection sous forme de chaîne en C#

Est il ya une possibilité dans C# pour contacter l'URL ci-dessus, être redirigé et prendre l'url de réponse sous forme de chaîne?

De cette façon, j'ai seulement à faire une chaîne.Splissez ('/') et prenez la dernière sous-chaîne pour une versioncheck rapide et facile de mon application.

Cordialement,

Julian

+0

Bienvenue sur Stack Overflow! Stack Overflow n'est pas un service d'écriture de code gratuit, mais un endroit pour poser des questions sur des problèmes ** spécifiques **. Commencez à écrire du code, et revenez quand vous avez une question spécifique sur ce code. Assurez-vous d'inclure un [mcve]. Voir aussi [demander]. –

Répondre

1

C'est ce que je suis venu avec (résolu):

static void Versioncheck (double currentVersion) 
    { 
     //Get web response of git repository (/latest will forward you to the latest version) 
     HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://github.com/[user]/[Project]/releases/latest"); 
     req.Method = "HEAD"; 
     req.AllowAutoRedirect = true; 
     WebResponse response = (HttpWebResponse)req.GetResponse(); 
     //split the parts of the responseuri 
     string responseUri = response.ResponseUri.ToString(); 
     string[] uriParts = responseUri.Split('/'); 
     //compare the latest part of the versionuri (version number) with the currect program version 
     if (Convert.ToDouble(uriParts.Last(), CultureInfo.InvariantCulture) > currentVersion) 
     { 
      Console.WriteLine("Version " + uriParts.Last() + " is available! You can get the latest Version here:"); 
      Console.WriteLine("Project download page"); 
     } 
     else 
     { 
      Console.WriteLine("Congrats! You are using the newest Version of programname!"); 
     } 
    }