- 浏览: 417527 次
-
文章分类
- 全部博客 (327)
- Android (114)
- Java (13)
- Java基础 (14)
- Glib (2)
- linux (15)
- extjs (5)
- eclipse (2)
- Asterisk (56)
- MYSQL (6)
- 数据库 (9)
- PHP (7)
- C# (18)
- 杂谈~~ (1)
- web开发前端 (3)
- 网络编程 (2)
- Opensips (2)
- voip (3)
- debian (7)
- openfire (15)
- wordpress (1)
- 版本控制 (1)
- Android 线程服务广播 (1)
- SRTP (2)
- 单片机及ARM等 (3)
- 基础知识 (5)
- asp.net (2)
- 单片机 (1)
- 设计模式及架构 (1)
- 安全 (1)
- Cubieboard 草莓树莓各类派 Android开发板 (1)
- J2EE (2)
- BootStrap (3)
- BootStrap web前端开发 (1)
- web前端开发 (4)
- object-c (1)
- openwrt (8)
- 智能家居 (4)
- Node.js (4)
最新评论
-
xiaoxiecomeon:
你这个程序一存在线程的时间片相互抢占的问题,运行时间长了很可能 ...
Runnable 和 Thread -
dotjar:
我觉得话应该这么说:引用TestThread tt = new ...
Runnable 和 Thread -
dagf113225:
调用TelephonyManager的隐藏API是先参考Fra ...
Android提高第十四篇之探秘TelephonyManager
c# http编程 2010-06-18 11:10 ============================================================ using System; using System.Net; using System.IO; using System.Text; class Test { [STAThread] static void Main(string[] args) { // // TODO: 在此处添加代码以启动应用程序 // string url = "http://localhost/csdn2/1.asp"; // <% // if request("aa")="zhuye" then session("ok")="ok" // if session("ok")="ok" then // response.write("登录") // else // response.write("没有登录") // end if // %> string indata = "aa=zhuye"; string outdata = ""; CookieContainer myCookieContainer = new CookieContainer(); //新建一个CookieContainer来存放Cookie集合 HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create(url); //新建一个HttpWebRequest myHttpWebRequest.ContentType = "application/x-www-form-urlencoded"; myHttpWebRequest.ContentLength = indata.Length; myHttpWebRequest.Method = "POST"; myHttpWebRequest.CookieContainer = myCookieContainer; //设置HttpWebRequest的CookieContainer为刚才建立的那个myCookieContainer Stream myRequestStream = myHttpWebRequest.GetRequestStream(); StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312")); myStreamWriter.Write(indata); //把数据写入HttpWebRequest的Request流 myStreamWriter.Close(); myRequestStream.Close(); //关闭打开对象 HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse(); //新建一个HttpWebResponse myHttpWebResponse.Cookies = myCookieContainer.GetCookies(myHttpWebRequest.RequestUri); //获取一个包含url的Cookie集合的CookieCollection Stream myResponseStream = myHttpWebResponse.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("gb2312")); outdata = myStreamReader.ReadToEnd(); //把数据从HttpWebResponse的Response流中读出 myStreamReader.Close(); myResponseStream.Close(); Console.WriteLine(outdata); //显示"登录" //拿到了Cookie,再进行请求就能直接读取到登录后的内容了 myHttpWebRequest = (HttpWebRequest) WebRequest.Create(url); myHttpWebRequest.CookieContainer = myCookieContainer;//* //刚才那个CookieContainer已经存有了Cookie,把它附加到HttpWebRequest中则能直接通过验证 myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse(); myHttpWebResponse.Cookies = myCookieContainer.GetCookies(myHttpWebRequest.RequestUri); myResponseStream = myHttpWebResponse.GetResponseStream(); myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("gb2312")); outdata = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); Console.WriteLine(outdata); //再次显示"登录" //如果把*行注释调,就显示"没有登录" } }注释写得很明确了,不多罗嗦了。 补充:如果是以get方式登录的话,直接修改url就可以了,indate可以不写任何东西。(不要去修改 myHttpWebRequest.Method为GET),比如把asp文件修改为 if request.querystring("aa")="zhuye" then session("ok")="ok",只要修改url为 string url="http://localhost/csdn2/1.asp?aa=zhuye";即可。 ============================================================================= 登录校内网的代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string Txt=""; Login(UserName.Text, UserPwd.Text, LoginUrl.Text, out Txt); //获取登录后的页面数据 textBox2.Text = Txt; //判断该页面数据是否是登陆后的数据就可以判断是否登录成功了 //由于都是字符串操作就没有必要写了呵呵 } public void Login(string UserName, string UserPwd, string LoginUrl, out string Txt) { try { //定义Cookie容器 CookieContainer CookieArray = new CookieContainer(); //创建Http请求 HttpWebRequest LoginHttpWebRequest = (HttpWebRequest)WebRequest.Create(LoginUrl); //登录数据 string LoginData = "email=" + UserName + "&password=" + UserPwd; //数据被传输类型 LoginHttpWebRequest.ContentType = "application/x-www-form-urlencoded"; //数据长度 LoginHttpWebRequest.ContentLength = LoginData.Length; //数据传输方法 get或post LoginHttpWebRequest.Method = "POST"; //设置HttpWebRequest的CookieContainer为刚才建立的那个CookieArray LoginHttpWebRequest.CookieContainer = CookieArray; //获取登录数据流 Stream myRequestStream = LoginHttpWebRequest.GetRequestStream(); //StreamWriter StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.Default); //把数据写入HttpWebRequest的Request流 myStreamWriter.Write(LoginData); //关闭打开对象 myStreamWriter.Close(); myRequestStream.Close(); //新建一个HttpWebResponse HttpWebResponse myHttpWebResponse = (HttpWebResponse)LoginHttpWebRequest.GetResponse(); //获取一个包含url的Cookie集合的CookieCollection myHttpWebResponse.Cookies = CookieArray.GetCookies(LoginHttpWebRequest.RequestUri); WebHeaderCollection a = myHttpWebResponse.Headers; Stream myResponseStream = myHttpWebResponse.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.Default); Txt = myStreamReader.ReadToEnd(); //把数据从HttpWebResponse的Response流中读出 myStreamReader.Close(); myResponseStream.Close(); } catch (Exception ex) { throw ex; } } }
发表评论
-
C# 全局异常处理
2015-10-20 13:36 1127咳,今天给大家带来一个关于C#中的异常处理,很多朋友在C#中 ... -
C#如何判断操作系统位数是32位还是64位
2014-11-07 10:50 1425方法一:对于C#来说,调用WMI是一种简单易行的方式。我们 ... -
UML类图几种关系的总结
2014-11-03 09:34 520在UML类图中,常见的有以下几种关系: 泛化(Genera ... -
Assembly类
2014-10-30 10:25 615System.Reflection.Assembly类是一个 ... -
由云台协议DLL浅谈插件程序的编写(下)
2014-10-28 13:47 452由云台协议DLL浅谈插件程序的编写(下)【原创】 1.创建 ... -
由云台协议DLL浅谈插件程序的编写(上)
2014-10-28 13:47 559前言:本文通过一个简单的工程描述了一种插件设计的思想。复杂设 ... -
平台+插件软件设计基本思想
2014-10-28 13:38 975平台+插件软件设计基 ... -
插件式设计的架构模型与实例
2014-10-28 13:38 343插件式设计近年来非常流行,其中eclipse起了推波助澜的作 ... -
C++插件架构浅谈与初步实现
2014-10-28 13:36 709一、插件架构初步介绍 ... -
什么时候用抽象类,什么时候用接口
2014-09-27 14:18 572共同点是他们都可以实现多态。 不同点在于设计抽象类和接口的目 ... -
使用 Override 和 New 关键字进行版本控制(C# 编程指南)
2014-09-24 14:10 524使用 Override 和 New 关键字进行版本控制(C# ... -
override(C# 参考)
2014-09-24 14:08 394override(C# 参考) Visual Stud ... -
接口可以实例化
2014-09-24 13:53 1034接口可以实例化 ... -
C#的WinForm中如何让窗体大小不能改变
2014-08-20 14:20 1115设置FormBorderStyle属性为FixDialog即可 ... -
HOW TO:使用 Visual C# .NET 从文件中读取 XML
2012-03-06 20:52 1232本文描述如何使用 XmlTe ... -
C#XML操作
2012-03-06 20:52 803using System.Xml; namespace ... -
Visual C# HTTP协议开发
2012-03-06 20:53 1064Visual C# HTTP协议开发 HTTP协议简 ...
相关推荐
C#网络编程不仅包括基本的TCP/IP通信,还包括HTTP、HTTPS、SMTP(电子邮件)、FTP等应用层协议的使用。源代码部分可能涵盖了这些协议的实现,让你能动手构建实际的网络应用。 压缩包中的"C#网络编程_PPT"可能是一个...
- 在C#中,可以使用System.Net命名空间下的类来进行网络编程,如Socket类用于低级别网络通信,TcpClient/TcpListener类用于TCP连接,以及HttpWebRequest/HttpWebResponse类处理HTTP请求和响应。 7. **网络模型的...
C#网络编程---第1章_进程、线程与网络协议.ppt C#网络编程---第2章_TCP应用编程.ppt C#网络编程---第3章_UDP应用编程.ppt ...C#网络编程---第9章_HTTP编程.ppt C#网络编程---第10章_Web_Service_编程.ppt
在网络编程中,C#提供了System.Net命名空间,它包含了一系列类和接口用于实现各种网络通信协议,如TCP/IP、UDP、HTTP等。System.Net.Sockets命名空间下的TcpClient和TcpListener类是进行TCP通信的基础,而UdpClient...
C#网络编程是开发应用程序与远程系统交互的重要领域,它涉及到多种协议和技术。在这个"C#网络编程Demo"中,你可以找到一系列的示例代码,帮助你深入理解和实践这些概念。 首先,让我们了解一下TCP(传输控制协议)...
6. **网络通信**:C#的System.Net命名空间提供了丰富的网络编程接口,实例可能涉及HTTP请求、Socket通信、FTP上传下载等,帮助开发者实现客户端和服务端的交互。 7. **数据库交互**:ADO.NET是C#进行数据库操作的...
《C#网络应用编程》是一本致力于教授C#语言进行网络编程的书籍,作者Richard Blum是一位拥有丰富网络和系统管理经验的专业人士,他的工作经验为本书提供了深厚的理论与实践经验支撑。书中不仅介绍C#的基础网络编程...
《c#精彩编程百例》配套源码 附录:本书配套光盘说明 本光盘包括本书所有源代码及其可执行文件、配套的C#编辑器(包括编辑器的C#源代码)及一些参考资料。 一、安装程序 将此光盘放到CD-ROM驱动器,运行Setup.htm...
总结,基于VS2008的C#网络编程示例涉及到网络通信的基础知识,如TCP/IP和HTTP协议的实现,同时也涵盖了如何在VS2008中进行项目管理和代码调试。而C#数据库编程示例则讲解了如何利用ADO.NET框架连接数据库、执行SQL...
C#网络编程涵盖了众多主题,包括但不限于TCP/IP协议栈、套接字(Sockets)、HTTP协议、WebSocket、ASP.NET Web API以及网络异步编程等。 首先,我们要理解C#中的网络编程基础。C#提供了System.Net命名空间,它包含...
C#网络编程技术教程,包含各种C# ftp webservice http socket
C#网络编程是.NET框架中一个重要的组成部分,它允许开发者创建能够通过互联网进行通信的应用程序。C#提供了丰富的类库,如System.Net命名空间,使得网络编程变得相对简单。在这个主题中,我们将深入探讨C#网络编程的...
5. **HTTP编程**:C#提供了HttpClient类,方便进行HTTP请求和响应处理,支持GET、POST等多种HTTP方法,以及处理HTTP头、Cookies、身份验证等。 6. **WebSocket**:对于需要实时双向通信的应用,C#提供了WebSocket...
在这个经典案例中,我们将深入探讨C#语言在网络编程中的应用,涵盖TCP、FTP和HTTP协议的实现。 首先,TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在C#中,我们可以使用System.Net....
3. **HTTP编程**:C#中的System.Net.Http命名空间提供了一组类,如HttpClient和HttpRequestMessage,用于发送HTTP请求和处理响应。HttpClient是异步操作的理想选择,可以方便地进行GET、POST等操作,广泛应用于Web ...
《C#网络核心编程》是一本深入探讨C#语言在网络编程领域的专著,它涵盖了从基础概念到高级技术的广泛内容。在C#语言中,网络编程是开发跨平台、分布式应用的重要组成部分,本书旨在帮助开发者掌握这方面的核心技术。...
在C#中,网络编程主要涉及到Socket、TCP/IP、HTTP、WebSocket等协议,以及对这些协议的使用和操作。下面将详细介绍C#网络编程中的几个重要知识点。 1. **Socket编程**: Socket是网络通信的基础,它提供了进程间...
“C#网络编程”这个文件可能是一个综合性的指南或代码示例集合,涵盖了C#网络编程的各个方面,包括TCP、UDP、HTTP等协议的使用。 总的来说,C#网络编程涉及多个层面,从底层的Socket操作到高层的Web应用开发,都...
《C#网络应用编程(第2版)》是一本深入探讨C#网络编程技术的书籍,旨在为初学者提供坚实的理论基础,同时也为有经验的开发者提供进一步提升的资源。这本书详细介绍了C#语言在网络编程领域的应用,涵盖了从基础知识到...
《C#网络编程技术教程》是一本专注于C#语言在TCP/IP网络编程领域的深度解析书籍。这本书涵盖了从基础概念到高级应用的全方位知识,旨在帮助读者掌握如何利用C#进行高效、稳定的网络通信。 首先,书中会介绍网络编程...