private static int parseHeader(Stream stream, out TcpClientResponse tcpClientResponse) { tcpClientResponse = null; var header = new StringBuilder(); //string headertext = ""; while (true) { byte[] data = new byte[1]; int recv = stream.Read(data, 0, 1); char c = (char)data[0]; header.Append(c); if (header.ToString().IndexOf("\r\n\r\n") > 0) { tcpClientResponse = new TcpClientResponse(); var strHeader = header.ToString(); tcpClientResponse.ContentLength = extractContentLength(strHeader); tcpClientResponse.ContentType = extractContentType(strHeader); tcpClientResponse.StatusCode = extractStatusCode(strHeader); tcpClientResponse.StatusDescription = extractStatusDescription(strHeader); //headertext = header.ToString().Substring(start + content.Length); //int end = headertext.IndexOf("\r\n"); //headertext = headertext.Substring(0, end); //包体长度 break; } } return header.Length; }
private static int parseHeader(Stream stream, out TcpClientResponse tcpClientResponse) { tcpClientResponse = null; var header = new StringBuilder(); //string headertext = ""; while (true) { byte[] data = new byte[1]; int recv = stream.Read(data, 0, 1); char c = (char)data[0]; header.Append(c); if (header.ToString().IndexOf("\r\n\r\n") > 0) { tcpClientResponse = new TcpClientResponse(); var strHeader = header.ToString(); tcpClientResponse.ContentLength = extractContentLength(strHeader); tcpClientResponse.ContentType = extractContentType(strHeader); tcpClientResponse.StatusCode = extractStatusCode(strHeader); tcpClientResponse.StatusDescription = extractStatusDescription(strHeader); //headertext = header.ToString().Substring(start + content.Length); //int end = headertext.IndexOf("\r\n"); //headertext = headertext.Substring(0, end); //包体长度 break; } } return(header.Length); }