public string GetStream(string address) { var serveralias = address.Split('/')[0]; var filename = address.Substring(Math.Min(serveralias.Length + 1, address.Length)); var server = ""; var nameServers = new CSVDocument(File.ReadAllText("nameserver.csv")); foreach (var nameServer in nameServers) { server = new WebClient().DownloadString(string.Format(nameServer["Pattern"], serveralias)).Trim(' ', '\n', '\r'); if (server != "") { break; } } if (!server.StartsWith("http://")) { server = "http://" + server; } var resolvedAddress = Path.Combine(server, filename).Replace('\\', '/'); var siteContent = ""; foreach (var appendage in new[] { "", ".tk", "/index.tk" }) { try { var siteRequest = ((HttpWebResponse)WebRequest.Create((resolvedAddress + appendage).Replace('\\', '/')).GetResponse()); siteContent = new StreamReader(siteRequest.GetResponseStream()).ReadToEnd(); if (!Regex.IsMatch(siteContent, "Apache.*at.*Port", RegexOptions.Singleline)) { break; } } catch (Exception e) { Debug.WriteLine(e); } } return siteContent; }
private static string Server(string serveralias) { var server = ""; var nameServers = new CSVDocument(File.ReadAllText("nameserver.csv")); foreach(var nameServer in nameServers) { try { server = new WebClient().DownloadString(string.Format(nameServer["Pattern"], serveralias)).Trim(' ', '\n', '\r'); if(server != "") { break; } } catch(Exception e) { /* ignored for now */ } } if(!server.StartsWith("http://")) { server = "http://" + server; } return server; }
public string FindName() { var response = new WebClient().DownloadString("http://example.com/"); var prefix = "Hello, "; var suffix = "!"; if (!response.StartsWith(prefix)) { throw new NotImplementedException("The beginning of the response is invalid."); } if (!response.EndsWith(suffix)) { throw new NotImplementedException("The ending of the response is invalid."); } return response.Substring(prefix.Length, response.Length - prefix.Length - suffix.Length); }
private string getCountry(string ip) { string response = new WebClient().DownloadString(API + ip); return response.StartsWith("fail,") ? "N/A" : response.Split(',')[1].Replace("\"",""); }