public void FindStreamTest() { // モックの設定 var factory = new MockWebClientFactory(); var mock = factory.MockClient; mock.Setup(client => client.DownloadString("http://livetube.cc/hakusai/somesbroadcast")).Returns("<html>\r\nvar comment_entry_id = \"somestreamid\";\r\n</html>\r\n"); WebHeaderCollection reqHead = new WebHeaderCollection(); mock.Setup(client => client.Headers).Returns(reqHead); WebHeaderCollection resHead = new WebHeaderCollection(); resHead.Add("Set-Cookie", "SomeCookie"); mock.Setup(client => client.ResponseHeaders).Returns(resHead); // 実際の呼び出し LivetubeClient livetube = new LivetubeClient(factory); Assert.True(livetube.Login("hakusai", "password")); reqHead.Clear(); resHead.Clear(); Assert.AreEqual("somestreamid", livetube.FindStream("http://livetube.cc/hakusai/somesbroadcast")); reqHead.Clear(); resHead.Clear(); livetube.Logoff(); // 結果の確認 Assert.AreEqual("SomeCookie", reqHead["Cookie"]); mock.Verify(client => client.DownloadString("http://livetube.cc/logoff")); livetube.Dispose(); }
/// <summary> /// 获取请求头字节数组 /// </summary> /// <param name="request">POST或GET请求</param> /// <returns>请求头字节数组</returns> private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "*/*"); requestHeaders.Add("Accept-Language", "zh-cn"); requestHeaders.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; AOA.Common.Utility)"); string headers = string.Format("{0}\r\n", request); foreach (string key in requestHeaders) { headers += string.Format("{0}:{1}\r\n", key, requestHeaders[key]); } //有Cookie就带上Cookie if (cookie != "") { headers += string.Format("Cookie:{0}\r\n", cookie); } //空行,请求头结束 headers += "\r\n"; strRequestHeaders = headers; requestHeaders.Clear(); return(encoding.GetBytes(headers)); }
private void Dispose(bool disposing) { if (!this.disposed) { if (disposing) { //Remove Managed Resources if (webHeaders != null) { webHeaders.Clear(); } } // Remove Unmanaged Resources // I.O.W. remove resources that have to be explicitly // "Dispose"d or Closed. For an S3 Response, these are: // 1. The Response Stream for GET Object requests // 2. The HttpResponse object for GET Object requests if (responseStream != null) { responseStream.Close(); responseStream = null; } if (httpResponse != null) { httpResponse.Close(); httpResponse = null; } disposed = true; } }
/// <summary> /// Copies some properties from the specified <see cref="HttpListenerResponse"/> to /// this response. /// </summary> /// <param name="templateResponse"> /// A <see cref="HttpListenerResponse"/> to copy. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="templateResponse"/> is <see langword="null"/>. /// </exception> public void CopyFrom(HttpListenerResponse templateResponse) { if (templateResponse == null) { throw new ArgumentNullException("templateResponse"); } if (templateResponse._headers != null) { if (_headers != null) { _headers.Clear(); } Headers.Add(templateResponse._headers); } else if (_headers != null) { _headers = null; } _contentLength = templateResponse._contentLength; _statusCode = templateResponse._statusCode; _statusDescription = templateResponse._statusDescription; _keepAlive = templateResponse._keepAlive; _version = templateResponse._version; }
/// <summary> /// 创建HTTP请求 /// </summary> /// <param name="url">URL地址</param> /// <returns></returns> private HttpWebRequest CreateRequest(string url, string method) { Uri uri = new Uri(url); if (uri.Scheme == "https") { ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(this.CheckValidationResult); } // Set a default policy level for the "http:" and "https" schemes. // HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Revalidate); // HttpWebRequest.DefaultCachePolicy = policy; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); request.AllowAutoRedirect = false; request.AllowWriteStreamBuffering = false; request.Method = method; if (proxy != null) { request.Proxy = proxy; } request.CookieContainer = cc; foreach (string key in requestHeaders.Keys) { request.Headers.Add(key, requestHeaders[key]); } requestHeaders.Clear(); return(request); }
///<summary> ///获取请求头字节数组 ///</summary> ///<param name="request">POST或GET请求</param> ///<returns>请求头字节数组</returns> private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "*.*");//*/* requestHeaders.Add("Accept-Language", "zh-CN,zh;q=0.8,en;q=0.6"); requestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 LBBROWSER"); string headers = request + "\r\n"; foreach (string key in requestHeaders) { headers += key + ":" + requestHeaders[key] + "\r\n"; } //有Cookie就带上Cookie if (cookie != "") { headers += "Cookie:" + cookie + "\r\n"; } //空行,请求头结束 headers += "\r\n"; strRequestHeaders = headers; requestHeaders.Clear(); return(encoding.GetBytes(headers)); }
///<summary> ///获取请求头字节数组 ///</summary> ///<param name="request">POST或GET请求</param> ///<returns>请求头字节数组</returns> private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); requestHeaders.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3"); //requestHeaders.Add("Accept-Encoding", "gzip, deflate"); requestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"); string headers = request + "\r\n"; foreach (string key in requestHeaders) { headers += key + ":" + requestHeaders[key] + "\r\n"; } //有Cookie就带上Cookie if (cookie != "") { headers += "Cookie:" + cookie + "\r\n"; } //空行,请求头结束 headers += "\r\n"; strRequestHeaders = headers; requestHeaders.Clear(); return(encoding.GetBytes(headers)); }
///<summary> ///获取请求头字节数组 ///</summary> ///<param name="request">POST或GET请求</param> ///<returns>请求头字节数组</returns> private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "*/*"); requestHeaders.Add("Accept-Language", "zh-cn"); requestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"); string headers = request + "\r\n"; foreach (string key in requestHeaders) { headers += key + ":" + requestHeaders[key] + "\r\n"; } //有Cookie就带上Cookie if (cookie != "") { headers += "Cookie:" + cookie + "\r\n"; } //空行,请求头结束 headers += "\r\n"; strRequestHeaders = headers; requestHeaders.Clear(); return(encoding.GetBytes(headers)); }
///<summary> ///获取请求头字节数组 ///</summary> ///<param name="request">POST或GET请求</param> ///<returns>请求头字节数组</returns> private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "*/*"); requestHeaders.Add("Accept-Language", "zh-cn"); requestHeaders.Add("User-Agent:Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/30.0.015; Profile MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413"); string headers = request + "\r\n"; foreach (string key in requestHeaders) { headers += key + ":" + requestHeaders[key] + "\r\n"; } //有Cookie就带上Cookie if (cookie != "") { headers += "Cookie:" + cookie + "\r\n"; } //空行,请求头结束 headers += "\r\n"; strRequestHeaders = headers; requestHeaders.Clear(); return(encoding.GetBytes(headers)); }
///<summary> ///获取请求头字节数组 ///</summary> ///<param name="request">POST或GET请求</param> ///<returns>请求头字节数组</returns> private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "*/*"); requestHeaders.Add("Accept-Language", "zh-cn"); requestHeaders.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"); string headers = request + "\r\n"; foreach (string key in requestHeaders) { headers += key + ":" + requestHeaders[key] + "\r\n"; } //有Cookie就带上Cookie if (cookie != "") { headers += "Cookie:" + cookie + "\r\n"; } //空行,请求头结束 headers += "\r\n"; strRequestHeaders = headers; requestHeaders.Clear(); return(encoding.GetBytes(headers)); }
public void LogoffTest() { // モックの設定 var factory = new MockWebClientFactory(); var mock = factory.MockClient; WebHeaderCollection reqHead = new WebHeaderCollection(); mock.Setup(client => client.Headers).Returns(reqHead); WebHeaderCollection resHead = new WebHeaderCollection(); resHead.Add("Set-Cookie", "SomeCookie"); mock.Setup(client => client.ResponseHeaders).Returns(resHead); // 実際の呼び出し LivetubeClient livetube = new LivetubeClient(factory); Assert.True(livetube.Login("hakusai", "password")); reqHead.Clear(); resHead.Clear(); livetube.Logoff(); // 結果の確認 Assert.AreEqual("SomeCookie", reqHead["Cookie"]); mock.Verify(client => client.DownloadString("http://livetube.cc/logoff")); livetube.Dispose(); }
public void LoginTest2_twice() { // モックの設定 var factory = new MockWebClientFactory(); var mock = factory.MockClient; WebHeaderCollection reqHead = new WebHeaderCollection(); mock.Setup(client => client.Headers).Returns(reqHead); WebHeaderCollection resHead = new WebHeaderCollection(); resHead.Add("Set-Cookie", "SomeCookie"); mock.Setup(client => client.ResponseHeaders).Returns(resHead); // 実際の呼び出し LivetubeClient livetube = new LivetubeClient(factory); Assert.True(livetube.Login("hakusai", "password")); reqHead.Clear(); resHead.Add("Set-Cookie", "SomeCookie"); Assert.True(livetube.Login("hakusai", "password")); // 結果の確認 Assert.AreEqual("application/x-www-form-urlencoded", reqHead["Content-Type"]); byte[] bytes = Encoding.ASCII.GetBytes("user=hakusai&password=password"); mock.Verify(client => client.UploadData("http://livetube.cc/login", "POST", bytes)); mock.Verify(client => client.DownloadString("http://livetube.cc/logoff")); livetube.Dispose(); }
///<summary> ///获取请求头字节数组 ///</summary> ///<param name="request">POST或GET请求</param> ///<returns>请求头字节数组</returns> private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "*/*"); requestHeaders.Add("Accept-Language", "zh-cn"); requestHeaders.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"); string headers = request + "\r\n"; foreach (string key in requestHeaders) { headers += key + ":" + requestHeaders[key] + "\r\n"; } //有Cookie就带上Cookie if (cookie != "") { headers += "Cookie:" + cookie + "\r\n"; } //空行,请求头结束 headers += "\r\n"; strRequestHeaders = headers; requestHeaders.Clear(); return(encoding.GetBytes(headers)); }
public void HttpRequestHeader_Clear_Success() { WebHeaderCollection w = new WebHeaderCollection(); w.Add("header1", "value1"); w.Add("header1", "value2"); w.Clear(); Assert.Equal(0, w.Count); }
/// 获取网络日期时间 /// </summary> /// <returns></returns> public static DateTime GetNetDateTime() { if (IsSyncTime) { return(DateTime.Now); } //IsSyncTime = true; WebRequest request = null; WebResponse response = null; WebHeaderCollection headerCollection = null; string datetime = string.Empty; try { request = WebRequest.Create("https://www.baidu.com"); request.Timeout = 3000; request.Credentials = CredentialCache.DefaultCredentials; response = (WebResponse)request.GetResponse(); headerCollection = response.Headers; foreach (var h in headerCollection.AllKeys) { if (h == "Date") { datetime = headerCollection[h]; } } DateTime time = DateTime.Parse(datetime); TimeSpan ts = time - DateTime.Now; if (System.Math.Abs(ts.Days) > 0 || System.Math.Abs(ts.Hours) > 0 || System.Math.Abs(ts.Minutes) > 0) { IsSyncTime = SyncTime(time); } else { IsSyncTime = true; } return(time);//DateTime.Parse(datetime); } catch (Exception) { IsSyncTime = true; return(DateTime.Now); } finally { if (request != null) { request.Abort(); } if (response != null) { response.Close(); } if (headerCollection != null) { headerCollection.Clear(); } } }
private void GetResponseHeader(byte[] buffer, out int startIndex) { responseHeaders.Clear(); string html = encoding.GetString(buffer); StringReader sr = new StringReader(html); int start = html.IndexOf("\r\n\r\n") + 4; strResponseHeaders = html.Substring(0, start); if (sr.Peek() > -1) { string line3 = sr.ReadLine(); Match M4 = Regex.Match(line3, "\\d\\d\\d"); if (M4.Success) { statusCode = int.Parse(M4.Value); } } while (sr.Peek() > -1) { string line2 = sr.ReadLine(); if (line2 != "") { Match M3 = Regex.Match(line2, "([^:]+):(.+)"); if (M3.Success) { try { responseHeaders.Add(M3.Groups[1].Value.Trim(), M3.Groups[2].Value.Trim()); } catch { } if (M3.Groups[1].Value == "Set-Cookie") { M3 = Regex.Match(M3.Groups[2].Value, "[^=]+=[^;]+"); cookie = cookie + M3.Value.Trim() + ";"; } } continue; } if (responseHeaders["Content-Length"] == null && sr.Peek() > -1) { line2 = sr.ReadLine(); Match M = Regex.Match(line2, "~[0-9a-fA-F]{1,15}"); if (M.Success) { int length = int.Parse(M.Value, NumberStyles.AllowHexSpecifier); responseHeaders.Add("Content-Length", length.ToString()); strResponseHeaders = strResponseHeaders + M.Value + "\r\n"; } } break; } sr.Close(); startIndex = encoding.GetBytes(strResponseHeaders).Length; }
public void CopyFrom(HttpListenerResponse templateResponse) { headers.Clear(); headers.Add(templateResponse.headers); content_length = templateResponse.content_length; status_code = templateResponse.status_code; status_description = templateResponse.status_description; keep_alive = templateResponse.keep_alive; version = templateResponse.version; }
//获取网络时间 public static string GetNetDateTime() { WebRequest request = null; WebResponse response = null; WebHeaderCollection headerCollection = null; string datetime = string.Empty; try { request = WebRequest.Create("https://www.baidu.com"); request.Timeout = 1000; request.Credentials = CredentialCache.DefaultCredentials; response = (WebResponse)request.GetResponse(); headerCollection = response.Headers; foreach (var h in headerCollection.AllKeys) { if (h == "Date") { datetime = headerCollection[h]; } } return(datetime); } catch (Exception) { request = WebRequest.Create("https://www.baidu.com"); request.Timeout = 1000; request.Credentials = CredentialCache.DefaultCredentials; response = (WebResponse)request.GetResponse(); headerCollection = response.Headers; foreach (var h in headerCollection.AllKeys) { if (h == "Date") { datetime = headerCollection[h]; } } return(datetime); } finally { if (request != null) { request.Abort(); } if (response != null) { response.Close(); } if (headerCollection != null) { headerCollection.Clear(); } } }
static void SetReqHeader_Ajax(WebHeaderCollection req_headers, ref string str_Cookie) { req_headers.Clear(); req_headers.Add("Host: drrrkari.com"); req_headers.Add("Content-Type: application/x-www-form-urlencoded; charset=UTF-8"); req_headers.Add("X-Requested-With: XMLHttpRequest"); req_headers.Add("Origin: http://drrrkari.com"); // req_headers.Add("Connection: keep-alive"); req_headers.Add("Referer: http://drrrkari.com/room/"); req_headers.Add(str_Cookie); }
static void SetReqHeader_normal(WebHeaderCollection req_headers, ref string str_Cookie) { req_headers.Clear(); req_headers.Add("Host: drrrkari.com"); req_headers.Add("Content-Type: application/x-www-form-urlencoded"); req_headers.Add("Origin: http://drrrkari.com"); // req_headers.Add("Connection: keep-alive"); req_headers.Add("Referer: http://drrrkari.com/"); req_headers.Add(str_Cookie); // req_headers.Add("Upgrade-Insecure-Requests: 1"); }
public void Clear_Success() { WebHeaderCollection w = new WebHeaderCollection(); w.Add("Accept", "text/plain"); w.Add("Content-Length", "123"); Assert.NotEmpty(w); w.Clear(); Assert.Empty(w); }
/// <summary> /// 获取请求头部的数据 /// </summary> /// <param name="request"></param> /// <returns></returns> private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "*/*"); requestHeaders.Add("Accept-language", "zh-cn"); requestHeaders.Add("User-Agent", "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"); string headers2 = request + "\r\n"; foreach (string key in requestHeaders) { string text = headers2; headers2 = text + key + ":" + requestHeaders[key] + "\r\n"; } if (cookie != "") { headers2 = headers2 + "Cookie:" + cookie + "\r\n"; } headers2 = (strRequesHeaders = headers2 + "\r\n"); requestHeaders.Clear(); return(encoding.GetBytes(headers2)); }
private void Reset() { #if SILVERLIGHT ResponseHeaders = new WebHeaderCollection(); #else ResponseHeaders.Clear(); #endif Error = null; Status = null; StatusCode = null; _complete.Reset(); }
/// <summary> /// Copies properties from the specified <see cref="HttpListenerResponse"/> to this response. /// </summary> /// <param name="templateResponse"> /// A <see cref="HttpListenerResponse"/> to copy. /// </param> /// <exception cref="InvalidOperationException"> /// The response has already been sent. /// </exception> /// <exception cref="ObjectDisposedException"> /// This object is closed. /// </exception> public void CopyFrom(HttpListenerResponse templateResponse) { checkDisposedOrHeadersSent(); _headers.Clear(); _headers.Add(templateResponse._headers); _contentLength = templateResponse._contentLength; _statusCode = templateResponse._statusCode; _statusDescription = templateResponse._statusDescription; _keepAlive = templateResponse._keepAlive; _version = templateResponse._version; }
/// <summary> /// 获取网络日期时间 /// </summary> /// <returns></returns> public static string GetNetDateTime() { HttpWebRequest request = null; WebResponse response = null; WebHeaderCollection headerCollection = null; string datetime = string.Empty; try { request = WebRequest.Create("https://www.baidu.com") as HttpWebRequest; ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); }; request.UserAgent = DefaultUserAgent; request.Timeout = 3000; response = (WebResponse)request.GetResponse(); headerCollection = response.Headers; foreach (var h in headerCollection.AllKeys) { if (h == "Date") { datetime = headerCollection[h]; break; } } return(datetime); } catch (Exception e) { Debug.LogException(e); return(datetime); } finally { if (request != null) { request.Abort(); } if (response != null) { response.Close(); } if (headerCollection != null) { headerCollection.Clear(); } } }
public void PostCommentTest() { // モックの設定 var factory = new MockWebClientFactory(); var mock = factory.MockClient; mock.Setup(client => client.DownloadString("http://livetube.cc/hakusai/somesbroadcast")).Returns("<html>\r\nvar comment_entry_id = \"somestreamid\";\r\n</html>\r\n"); WebHeaderCollection reqHead = new WebHeaderCollection(); mock.Setup(client => client.Headers).Returns(reqHead); WebHeaderCollection resHead = new WebHeaderCollection(); resHead.Add("Set-Cookie", "SomeCookie"); mock.Setup(client => client.ResponseHeaders).Returns(resHead); // 実際の呼び出し LivetubeClient livetube = new LivetubeClient(factory); Assert.True(livetube.Login("hakusai", "password")); reqHead.Clear(); resHead.Clear(); var streamid = livetube.FindStream("http://livetube.cc/hakusai/somesbroadcast"); reqHead.Clear(); resHead.Clear(); livetube.PostComment(streamid, "hakusai", "コメント"); // 結果の確認 Assert.AreEqual("application/x-www-form-urlencoded", reqHead["Content-Type"]); Assert.AreEqual("SomeCookie", reqHead["Cookie"]); byte[] bytes = Encoding.ASCII.GetBytes("name=hakusai&c=%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88"); mock.Verify(client => client.UploadData("http://livetube.cc/stream/somestreamid.comments", "POST", bytes)); reqHead.Clear(); resHead.Clear(); livetube.Logoff(); livetube.Dispose(); }
/// <summary> /// 获取HTTP协议Headers标头之SetCookie /// </summary> /// <param name="Url">Url地址</param> /// <param name="Referer">Referer地址</param> public static string GetHttpSetCookie(string Url, string Referer = null) { HttpWebRequest req = null; HttpWebResponse res = null; WebHeaderCollection headerCollection = null; string resHeadersCookie = string.Empty; try { req = (HttpWebRequest)WebRequest.Create(Url); req.AllowAutoRedirect = false; req.Method = "GET"; req.Timeout = 3000; req.UserAgent = UserAgent; req.Accept = Accept; req.ProtocolVersion = HttpVersion.Version11; req.Referer = Referer == null ? null : Referer; req.Proxy = null; res = (HttpWebResponse)req.GetResponse(); headerCollection = res.Headers; if (headerCollection != null) { foreach (string h in headerCollection.AllKeys) { if (h == "Set-Cookie") { resHeadersCookie = (headerCollection[h]); } } } return(resHeadersCookie); } catch (Exception) { return(resHeadersCookie); } finally { if (req != null) { req.Abort(); } if (res != null) { res.Close(); } if (headerCollection != null) { headerCollection.Clear(); } } }
/// <summary> /// 加载网页形式的书 /// </summary> /// <param name="address"></param> private void LoadWebBook(string address) { WebRequest request = null; WebResponse response = null; StreamReader sreader = null; WebHeaderCollection headerCollection = null; string datetime = string.Empty; try { request = WebRequest.Create(address); request.Timeout = 3000; request.Credentials = CredentialCache.DefaultCredentials; WebProxy myProxy = new WebProxy(); request.Proxy = myProxy; response = (WebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); sreader = new StreamReader(stream, Encoding.UTF8); string strReader = sreader.ReadToEnd(); richTextBox1.Text = strReader; } catch (Exception ex) { } finally { if (request != null) { request.Abort(); request = null; } if (response != null) { response.Close(); response = null; } if (headerCollection != null) { headerCollection.Clear(); headerCollection = null; } if (sreader != null) { sreader.Close(); sreader = null; } } }
/// <summary> /// 生成Http请求消息头 /// </summary> /// <param name="uri"></param> /// <param name="method"></param> /// <returns></returns> private static byte[] GetRequestHeaders(Uri uri, HttpVerb method) { WebHeaderCollection webheaders = new WebHeaderCollection(); webheaders.Add("Host", uri.Host); webheaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); webheaders.Add("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3"); webheaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"); StringBuilder header = new StringBuilder(); header.AppendFormat("{0} {1} HTTP/1.1\r\n", method, uri.PathAndQuery); foreach (string key in webheaders) { header.AppendFormat("{0}:{1}\r\n", key, webheaders[key]); } header.Append("\r\n"); webheaders.Clear(); return(Encoding.UTF8.GetBytes(header.ToString())); }
private byte[] GetRequestHeaders(string request) { requestHeaders.Add("Accept", "*/*"); requestHeaders.Add("Accept-Language", "zh-cn"); requestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"); string headers2 = request + "\r\n"; foreach (string key in requestHeaders) { string text = headers2; headers2 = text + key + ":" + requestHeaders[key] + "\r\n"; } if (cookie != "") { headers2 = headers2 + "Cookie:" + cookie + "\r\n"; } headers2 = (strRequestHeaders = headers2 + "\r\n"); requestHeaders.Clear(); return(encoding.GetBytes(headers2)); }
public void HttpRequestHeader_Clear_Success() { WebHeaderCollection w = new WebHeaderCollection(); w.Add("header1", "value1"); w.Add("header1", "value2"); w.Clear(); Assert.Equal(0, w.Count); }
public void Clear_Success() { WebHeaderCollection w = new WebHeaderCollection(); w.Add("Accept", "text/plain"); w.Add("Content-Length", "123"); Assert.NotEmpty(w); w.Clear(); Assert.Empty(w); }