private void getHeader() { string url; url = getUrlFromMsg(); try { WebClient web = new WebClient(); TcpClient webTC = new TcpClient(); webTC.Connect(url.Split('/')[2], 80); Console.WriteLine(url.Split('/')[2]); NetworkStream WebStream = webTC.GetStream(); StreamReader WebRead = new StreamReader(WebStream); StreamWriter WebWrite = new StreamWriter(WebStream); Console.WriteLine("HEAD " + url.Substring(7 + url.Split('/')[2].Length) + " HTTP/1.0"); if (url.Split('/').Length >= 4) WebWrite.WriteLine("HEAD " + url.Substring(7 + url.Split('/')[2].Length) + " HTTP/1.0"); else WebWrite.WriteLine("HEAD / HTTP/1.0"); WebWrite.Flush(); WebWrite.WriteLine(""); WebWrite.Flush(); int acceptableLength = 0; while (true) { while ((inputLine = WebRead.ReadLine()) != null) { Console.WriteLine(inputLine); if (inputLine.Contains("Content-Length:")) { size = Int32.Parse((inputLine.Split(' ')[1])); if (size <= 1073741824) acceptableLength = 1; else acceptableLength = 2; continue; } if (inputLine.Contains("Content-Type:") && inputLine.Contains("text/html") && (acceptableLength == 2 || acceptableLength == 0) ) { Console.WriteLine(inputLine); byte[] httpByteStream = web.DownloadData(url); string httpString = Encoding.Default.GetString(httpByteStream); string[] titleSplitArray = Regex.Split(httpString, "]*>|<TITLE[^>]>|<title>|<TITLE>"); string[] titleContent = Regex.Split(titleSplitArray[1], "</title|</TITLE"); if (url.Length >= 70) { byte[] responseArray = web.DownloadData("http://tinyurl.com/api-create.php?url=" + url); chanAct.say("[" + titleContent[0].Replace('\n', ' ') + "] " + Encoding.ASCII.GetString(responseArray)); chanAct.say("[" + titleContent[0].Replace('\n', ' ') + "] " + Encoding.ASCII.GetString(responseArray)); break; } else { chanAct.say("[" + titleContent[0].Replace('\n', ' ') + "]"); break; } } else if (inputLine.Contains("Content-Type:") && !inputLine.Split(' ')[1].Contains("text/html")) { Console.WriteLine("[" + inputLine.Split(' ')[1] + ": " + size + "]"); chanAct.say("[" + inputLine.Split(' ')[1] + ": " + size + "]"); break; } } break; } } catch (Exception e) { Console.WriteLine(e.ToString()); } }