已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HTTP协议基本原理 XMLWebService开发 第1章XMLWebService第2章XMLWebService体系结构第3章XMLWebService基础技术第4章使用XMLWebService第5章实现一个简单的XMLWebService第6章部署和发布XMLWebService第7章XMLWebService的安全第8章XMLWebService设计第9章全局XMLWebService体系结构 第3章XMLWebService基础技术 HTTP协议基本原理在 NETFramework中使用HTTP协议XML基本要点SOAP协议的基本原理在 NETFramework中运用SOAP协议 HTTP协议基本原理 HTTP协议概述HTTP请求与HTTP响应的结构HTTP的GET与POST方法 3 1HTTP协议基本原理 URL URI和URN URI UniformResourceIdentifier统一资源标识符 用字符串惟一标识信息资源URL UniformResourceLocator统一资源定位符 通过 通讯协议 网络地址 字符串惟一标识信息位置和资源访问途径URN UniformResourceName统一资源命名符 用于惟一标识全球范围内由专门机构负责的稳定的信息资源 3 1HTTP协议基本原理 HTTP协议概述 URL结构无状态协议在客户端发出HTTP请求并收到服务器端响应后 连接就会断开 下次的访问与前一次的访问无关 因此如果需要维护客户端的信息 必须在服务器端维持状态数据 实例 http host port path querystring 主机 路径 查询字符串 3 1 1HTTP协议概述 HTTP请求的结构 请求的结构 例子 POST TheStockExchange Trading GetStockPrice aspHTTP 1 1Host localhostContent Type application x Content Length 11Symbol MSFT 注意空行 MethodURLVersionHeadersMessagebody 注意空行 3 1 2HTTP请求与HTTP响应的结构 响应的结构 例子 HTTP 1 1200OKContent Type text xml charset utf 8Content Length 75 HTTP响应的结构 注意空行 VersionStatus CodeDescriptionHeadersMessagebody 注意空行 3 1 2HTTP请求与HTTP响应的结构 HTTP的GET和POST方法 HTTP GETHTTP POST 例子 例子 GET Trading GetStockPrice asp Symbol MSFTHTTP 1 1Host localhost POST Trading GetStockPrice aspHTTP 1 1Host localhostContent Type application x Content Length 11Symbol MSFT 3 1 3HTTP的GET与POST方法 GET和POST方法的区别 GET方法通常没有消息主体GET方法支持最大1024个字节的查询字符串 POST方法没有限制POST方法把查询字符串放在消息主体中传输 因此比GET方法支持更多的数据类型 3 1 3HTTP的GET与POST方法 第3章XMLWebService基础技术 HTTP协议基本原理在 NETFramework中使用HTTP协议XML基本要点SOAP协议的基本原理在 NETFramework中运用SOAP协议 在 NETFramework中使用HTTP协议 使用HTTP协议的 NET类代码演练发送HTTP同步请求代码演练发送HTTP异步请求 NET中与HTTP相关的类 HttpWebRequest由WebRequest派生 封装了对HTTP协议的支持HttpWebResponse由WebResponse派生 封装了对HTTP协议的支持支持同步和异步操作 HttpWebRequestHttpWebResponse System Web System IO StreamReaderStreamWriter 3 2 1使用HTTP协议的 NET类 HttpWebRequest类 HttpWebRequest不使用构造函数来进行初始化 而是调用WebRequest的Create方法GetResponse方法向RequestUri属性中指定的Internet资源发出同步请求并返回包含该响应的HttpWebResponse实例 可以使用BeginGetResponse和EndGetResponse方法向Internet资源发出异步请求向Internet资源发送数据时 GetRequestStream方法返回用于发送数据的Stream实例 BeginGetRequestStream和EndGetRequestStream方法提供对发送数据流的异步访问 3 2 1使用HTTP协议的 NET类 同步调用与异步调用 在 NETFramework指定的异步调用方法的设计模式中 每个同步方法都有两个对应的异步方法 即一个Begin异步方法和一个End异步方法客户端调用Begin方法启动该方法的异步调用 实质是指示开始进行方法调用 但立即返回 不需要等待结果客户端调用End方法获取XMLWebService方法执行的结果 3 2 1使用HTTP协议的 NET类 代码示例发送同步HTTP请求 使用HttpWebRequest和HttpWebResponse类向Web服务器发送同步HTTP请求 3 2 2代码演练发送HTTP同步请求 同步请求 根据URL发送HTTP请求1 HttpWebRequestreq HttpWebRequest WebRequest Create url 2 req ContentType contentType 确定请求方式为POST或GET3 req Method method 4 req ContentLength content Length 5 Streams 获取请求流 将请求的内容写入流中6 s req GetRequestStream 7 StreamWritersw newStreamWriter s Encoding ASCII 8 sw Write content 9 sw Close 同步请求 10 获取响应11 HttpWebResponseres HttpWebResponse req GetResponse 12 s res GetResponseStream 13 读出响应流14 StreamReadersr newStreamReader s Encoding ASCII 15 StringBuildersb newStringBuilder 16 char data newchar 1024 17 intnBytes 18 do 19 nBytes sr Read data 0 int 1024 20 sb Append data 21 while nBytes 1024 代码示例发送异步HTTP请求 使用HttpWebRequest和HttpWebResponse类向Web服务器发送异步HTTP请求 3 2 3代码演练发送HTTP异步请求 异步请求 1 Streams 2 HttpWebRequestreq HttpWebRequest WebRequest Create url 3 req ContentType contentType 4 req Method method 5 req ContentLength content Length 6 s req GetRequestStream 7 StreamWritersw newStreamWriter s 8 sw Write content 9 sw Close 异步请求 10 创建时间处理程序11 Handlerh newHandler 12 AsyncCallbackcallback newAsyncCallback h Callback 13 将请求对象作为状态对象进行传递14 req BeginGetResponse callback req 15 16 17 异步请求 处理程序18 publicclassHandler19 20 publicvoidCallback IAsyncResultar 21 22 从请求状态中获取处理对象23 HttpWebRequestreq HttpWebRequest ar AsyncState 24 获取响应对象26 HttpWebResponseres HttpWebResponse req EndGetResponse ar 异步请求 27 开示读取响应流28 Streams res GetResponseStream 29 30 StreamReadersr newStreamReader s Encoding ASCII 31 StringBuildersb newStringBuilder 32 char data newchar 1024 33 intnBytes 34 do35 36 nBytes sr Read data 0 int 1024 37 sb Append data 38 while nBytes 1024 39 具体的HTTP GET请求 classTester staticvoidMain string args Trace Listeners Add newTextWriterTraceListener Console Out Trace AutoFlush true Console WriteLine HTTPGET stringurlGet GetData urlGet GET publicstaticvoidGetData stringurl stringcontentType stringmethod stringcontent paramsstring headers Streams HttpWebRequestreq HttpWebRequest WebRequest Create url foreach stringheaderinheaders req Headers Add header if method Length 0 req Method method if contentType Length 0 req ContentType contentType if content Length 0 req ContentLength content Length s req GetRequestStream StreamWritersw newStreamWriter s sw Write content sw Close DisplayRequest req HttpWebResponseres HttpWebResponse req GetResponse DisplayResponse res publicstaticvoidDisplayRequest HttpWebRequestreq Trace WriteLine RequestStart Trace WriteLine req RequestUri ToString DisplayHeaders req Headers Trace WriteLine RequestEnd publicstaticvoidDisplayResponse HttpWebResponsehresp Trace WriteLine null Trace WriteLine ResponseStart Trace WriteLine hresp StatusCode Trace WriteLine hresp StatusDescription DisplayHeaders hresp Headers DisplayContent hres
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年教育信息化技术应用案例解析考试试题及答案
- 2026安徽马鞍山当涂现代农业示范区管委会招聘村级后备干部2人备考题库及答案详解(夺冠系列)
- 2026湖北民族大学附属民大医院招聘专业技术人员9人备考题库含答案详解ab卷
- 以初中生物学体验式教学提升生态文明素养的实践研究
- 2026广东汕头市潮阳区教育局属下学校外出招聘硕士研究生50人备考题库含答案详解(完整版)
- 2026中泉船务分公司船员招聘备考题库及一套答案详解
- 2026中国人民大学团委招聘1人备考题库(北京)附答案详解(轻巧夺冠)
- 2026小博士幼儿园招聘10人备考题库含答案详解(典型题)
- 2026上海浦东发展银行贵阳分行派遣员工招聘3人备考题库及答案详解(夺冠)
- 卫生间渗漏处置方案
- 雨课堂学堂在线学堂云《机械原理及设计(北京航空航天)》单元测试考核答案
- 中国电力建设集团有限公司招聘笔试题库2026
- 部编版道德与法治二年级下册《少年当自强》第1课时教学设计
- 材料工程技术毕业答辩
- T组合复苏器使用技术
- 2025年昆山编外辅助性人员笔试及答案
- 《EJT 20197-2018低放可燃固体废物热解焚烧运行要求》专题研究报告深度
- 2025秋季贵州黔西南民族职业技术学院赴省内外高校引进高层次人才和急需紧缺人才6人笔试考试参考试题及答案解析
- 2025陕西宝鸡市麟游县从“五类人员”中选拔镇领导班子成员8人备考题库附答案
- 光伏项目经理培训课件
- 煤矿主提升机事故案例
评论
0/150
提交评论