http://msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.cookiecontainer(VS.85).aspx
解决方案 »
- picturebox画出的图形不能直接打开而是要点击一下鼠标才能出现
- WCF客户端代理类的生成,参数类型的变化
- UDP通信
- ~!~~~~~~~~~请教:定时任务和重复任务如何设计执行时间?===看看我的思路=================
- 100分求救,ORACLE的表名动态确定时,对表格进行增、删、改的问题!
- ADO.NET如何连接ORACLE数据库?
- 关于窗口组织的简单问题
- (TextBox)Report.Rows[iRowCnt].Cells[7].Controls[0] 为什么无法修改?!
- 水晶报表 问题 急急急!望各位大哥帮帮忙
- C#适用于开发大型的应用系统吗?
- 用.net写的一段代码安装时报错
- c#调用fortran的dll中结构体数组问题
/// <summary>
/// 向指定页面内容发送数据(POST)
/// </summary>
/// <param name="SourcePage">请求页面</param>
/// <returns></returns>
public bool PostPage(WebPage SourcePage)
{
HttpWebRequest myHttpWebRequest = null;
HttpWebResponse response = null;
if (Uri.IsWellFormedUriString(SourcePage.InitUrl, UriKind.Absolute))
{
myHttpWebRequest = (HttpWebRequest)WebRequest.Create(SourcePage.InitUrl);
}
else
{
SourcePage.Content = "";
return false;
} try
{
myHttpWebRequest.AllowAutoRedirect = true;
myHttpWebRequest.KeepAlive = true;
myHttpWebRequest.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*";
myHttpWebRequest.Referer = SourcePage.ReferUrl; myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 2.0.50727)";
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
myHttpWebRequest.Method = "POST"; if (string.IsNullOrEmpty(SourcePage.LoginCookie))
{
myHttpWebRequest.Headers.Add("cookie:" + SourcePage.CookieHeader);
}
else
{
myHttpWebRequest.Headers.Add("cookie:" + SourcePage.LoginCookie);
} CookieContainer myCookieContainer = new CookieContainer();
myHttpWebRequest.CookieContainer = myCookieContainer; Stream MyRequestStrearm = myHttpWebRequest.GetRequestStream();
StreamWriter MyStreamWriter = new StreamWriter(MyRequestStrearm, Encoding.ASCII); //把数据写入HttpWebRequest的Request流
MyStreamWriter.Write(SourcePage.PostData); //关闭打开对象
MyStreamWriter.Close();
MyRequestStrearm.Close(); response = (HttpWebResponse)myHttpWebRequest.GetResponse(); //更新当前页面地址
SourcePage.CurrentUrl = response.ResponseUri.AbsoluteUri; //更新当前cookie信息
SourcePage.CookieHeader = myHttpWebRequest.CookieContainer.GetCookieHeader(new Uri(SourcePage.CurrentUrl)); if (SourcePage.IsReadContent)
{
System.IO.StreamReader sr = null;
sr = new System.IO.StreamReader(response.GetResponseStream(), Encoding.GetEncoding(SourcePage.EncodingCode)); //utf-8
SourcePage.Content = StringUtility.ClearBlankTag(sr.ReadToEnd()); sr.Close();
}
else
{
SourcePage.Content = "";
} return true;
}
catch(Exception Err)
{
SourcePage.CurrentUrl = "";
SourcePage.Content = Err.Message;
return false;
}
finally
{
if (response != null)
{
response.Close();
}
}
}