1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
private void BtnOpenUrl_Click(object sender, EventArgs e) { if (txtUrl.Text != "") { MywebBrowser.Url = new Uri(txtUrl.Text); } } private void BtnGetCookie_Click(object sender, EventArgs e) { CookieContainer myCookieContainer = new CookieContainer(); if (MywebBrowser.Document.Cookie != null) { string cookieStr = MywebBrowser.Document.Cookie; string[] cookstr = cookieStr.Split(';'); foreach (string str in cookstr) { string[] cookieNameValue = str.Split('='); Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString()); ck.Domain = "www.google.com"; myCookieContainer.Add(ck); } } } |
from:https://www.cnblogs.com/zhangzhu/p/3408317.html
View Details有时候我们在编写C#程序时需要某个线程睡眠一段时间,一般情况下,我们首先会想到用Thread.Sleep()方法,但是有时候用这个方法的时候会导致程序出现无响应的状况,那有没有其他办法来替代这个方法呢?答案是肯定的,下面亦是美网络就给大家介绍一下Thread.CurrentThread.Join()方法。 首先我们来看一下msdn帮助文档是如何介绍的: Thread.Sleep(); //将当前线程挂起指定的时间。 Thread.CurrentThread.Join(); //在继续执行标准的 COM 和 SendMessage 消息泵处理期间,阻塞调用线程,直到某个线程终止为止。 如果仅仅从字面上理解的话,Thread.Sleep();只是将线程挂起,即使当前线程没终止,还可以继续被调用。而Thread.CurrentThread.Join()方法不仅阻塞调用线程,并且还必须等到该线程终止。 这样的话,使用Thread.Sleep();有时就会导致程序出现无响应的情况,而使用Thread.CurrentThread.Join()程序将不会出现无响应,但是其他操作需要等待当前线程终止才会继续。 PS:要使用Thread类,需调用using System.Threading;命名空间。 from:http://www.yishimei.cn/network/390.html
View DetailsSystem.Net.WebRequest类,是通过HTTP协议与Web服务器进行交互的实现。 开发工具:VS2012,控制台应用程序 以下通过实例代码进行讲解,先不使用代理进行GET和POST调用;然后通过指定代理、本地IE代理进行GET和POST调用,循序渐进的学习。 GET和POST调用实现类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 […]
View DetailsThread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 Thread (ThreadStart) 初始化 Thread 类的新实例。 由 .NET Compact Framework 支持。 Thread (ParameterizedThreadStart, Int32) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托,并指定线程的最大堆栈大小。 Thread (ThreadStart, Int32) 初始化 Thread 类的新实例,指定线程的最大堆栈大小。 由 .NET Compact Framework 支持。 我们如果定义不带参数的线程,可以用ThreadStart,带一个参数的用ParameterizedThreadStart。带多个参数的用另外的方法,下面逐一讲述。 一、不带参数的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace AAAAAA { class AAA { public static void Main() { Thread t = new Thread(new ThreadStart(A)); t.Start(); Console.Read(); } private static void A() { Console.WriteLine("Method A!"); } } } 结果显示Method A! 二、带一个参数的 由于ParameterizedThreadStart要求参数类型必须为object,所以定义的方法B形参类型必须为object。 1 […]
View Details