J'ai une fonction appelée GetIP que j'appelle au démarrage et lorsque l'utilisateur appuie sur un bouton. pour une raison quelconque, il ne plante pas au démarrage, mais c'est le cas lorsque vous appelez la fonction avec un bouton. Aucune exeptions rien il gèle juste.Webclient.DownloadCas crash
Codepour la fonction:
private void GetIP()
{
string pageTitle = functions.GetWebPageTitle("http://xyro18.woelmuis.nl/index.php");
string[] ip = new string[2];
ip = pageTitle.Split('|');
currentIpLabel.Text = ip[0];
webIpLabel.Text = ip[1];
}
Maintenant, je trouve que ça plante dans ma fonction getWebPageTitle
Codepour la fonction:
public static string GetWebPageTitle(string url)
{
// Create a request to the url
HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;
request.Method = "HEAD";
// If the request wasn't an HTTP request (like a file), ignore it
if (request == null) return null;
// Use the user's credentials
request.UseDefaultCredentials = true;
// Obtain a response from the server, if there was an error, return nothing
HttpWebResponse response = null;
try { response = request.GetResponse() as HttpWebResponse; }
catch (WebException) { return null; }
// Regular expression for an HTML title
string regex = @"(?<=<title.*>)([\s\S]*)(?=</title>)";
// If the correct HTML header exists for HTML text, continue
if (new List<string>(response.Headers.AllKeys).Contains("Content-Type"))
if (response.Headers["Content-Type"].StartsWith("text/html"))
{
// Download the page
WebClient web = new WebClient();
web.UseDefaultCredentials = true;
string page = web.DownloadString(url);
// Extract the title
Regex ex = new Regex(regex, RegexOptions.IgnoreCase);
return ex.Match(page).Value.Trim();
}
// Not a valid HTML page
return null;
}
Il se bloque sur le web.DownloadString
avec accident je veux dire geler et n'affiche aucune exeptions, etc.
Merci, cela a fonctionné, mis en œuvre toutes les options, il semblait que je ne ferme pas le signal de réponse. – Xyro