private SendHeaderInfo GetSendHeaders(string header) { SendHeaderInfo send = new SendHeaderInfo(); var headers = Regex.Split(header, "\r\n"); List <string> listHeader = new List <string>(); for (int i = 0; i < headers.Length; i++) { var arr = headers[i].Split(' '); if (arr[0] == "GET" || arr[0] == "POST" || arr[0] == "OPTIONS") { send.Uri = new Uri(arr[1]); //arr[1] = send.Uri.PathAndQuery; //headers[i] = string.Join(" ", arr); } if (headers[i].StartsWith("Content-Length", StringComparison.OrdinalIgnoreCase)) { continue; } listHeader.Add(headers[i]); } send.Header = header;// string.Join("\r\n", listHeader); return(send); }
/// <summary> /// Test /// </summary> /// <param name="header"></param> /// <returns></returns> private SendHeaderInfo GetSendHeaders(string header) { SendHeaderInfo send = new SendHeaderInfo(); var headers = Regex.Split(header, "\r\n"); List <string> lstHeaders = new List <string>(); for (int i = 0; i < headers.Length; i++) { var arr = headers[i].Split(' '); if (arr[0] == "GET" || arr[0] == "POST" || arr[0] == "OPTIONS") { send.Uri = new Uri(arr[1]); arr[1] = send.Uri.PathAndQuery; headers[i] = string.Join(" ", arr); } lstHeaders.Add(headers[i]); } send.HeaderByte = Encoding.UTF8.GetBytes(string.Join("\r\n", lstHeaders.ToArray())); return(send); }
private SendHeaderInfo GetSendHeaders(string header, string fileName = "") { var strFileName = ""; byte[] temp = null; if (fileName != "") { strFileName = Path.GetFileName(fileName); temp = File.ReadAllBytes(fileName); header = header.Replace("[CD]", temp.Length + ""); header = header.Replace("{filename}", strFileName); if (strFileName.EndsWith("mp3", StringComparison.OrdinalIgnoreCase)) { header = header.Replace("{filetype}", "audio/mp3"); } if (strFileName.EndsWith("gif", StringComparison.OrdinalIgnoreCase)) { header = header.Replace("{filetype}", "image/gif"); } if (strFileName.EndsWith("png", StringComparison.OrdinalIgnoreCase)) { header = header.Replace("{filetype}", "image/png"); } if (strFileName.EndsWith("jpg", StringComparison.OrdinalIgnoreCase)) { header = header.Replace("{filetype}", "image/jpg"); } } SendHeaderInfo send = new SendHeaderInfo(); var headers = Regex.Split(header, "\r\n"); List <byte> body = new List <byte>(); List <string> sbody = new List <string>(); for (int i = 0; i < headers.Length; i++) { var arr = headers[i].Split(' '); if (arr[0] == "GET" || arr[0] == "POST" || arr[0] == "OPTIONS") { send.Uri = new Uri(arr[1]); //arr[1] = send.Uri.PathAndQuery; //headers[i] = string.Join(" ", arr); } if (headers[i].StartsWith("Content-Length", StringComparison.OrdinalIgnoreCase)) { continue; } if (headers[i] == "[FILE]") { if (temp != null) { var byt = temp; foreach (var b in byt) { body.Add(b); } continue; } } { var line = ""; if (body.Count > 0) { line = "\r\n"; } var byt = Encoding.UTF8.GetBytes(line + headers[i]); foreach (var b in byt) { body.Add(b); } sbody.Add(headers[i]); continue; } } send.HeaderByte = body.ToArray(); send.Header = string.Join("\r\n", sbody); return(send); }