——NET Compact Framework下HttpWebRequest开发.docVIP

——NET Compact Framework下HttpWebRequest开发.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.NET Compact Framework下HttpWebRequest开发 当Windows Mobile程序需要使用Web Server的信息,一开始自然会想到使用WebService。可是有些Web Server不提供WebService,只是提供Http浏览功能,如果需要从Http网页中得到信息,可以使用HttpWebRequest和HttpWebResponse来完成,下面通过一个例子来讲述。 例如有一个使用ASP.net开发的燃料价格查询网站。 图1 输入燃料类型(Fuel Type)和邮政编码(Postcode)后可以查询出燃料价格,如下图。 图2 在Windows Mobile下需要开发一个应用程序,输入燃料类型和邮编,然后通过通过Web Server查询出价格信息,显示到Windows Mobile里面。由于该Web Server不提供WebService的服务,所以该Windows Mobile程序不能直接通过Webservice取出价格信息,可以通过HttpWebRequest来实现。关于HtppWebRequest可以参考下面两篇不错的文章。 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie HttpWebRequest/Response in a nutshell - Part 1 总体开发分几步:第一步找出需要提交的数据;第二步访问该页面,取出ViewState;第三步组成Post的数据并发送请求;第四步分析HTML并显示结果。 找出需要提交的数据 找出需要提交的数据最常用的工具是HttpWatch,可是这个工具免费的basic版本只是支持google,microsoft等网站,所以我使用了一个Firefox免费插件HttpFox,事实证明该工具满足我的需求。 先安装HttpFox,然后点击HttpFox的Start启动。打开要提交的页面,例子为?http://localhost/HttpWebRequest/Default.aspx,点击页面中的Search按钮。查看HttpFox的Post DataTab页,能找出所有需要提交的数据,如下图 需要提交的POST包括__VIEWSTATE, __EVENTVALIDATION, DropDownListFuelType, TextBoxPostCode以及 ButtonSearchPostcode 图3 取出ViewState 进行ASP.net的webform开发,关键是了解页面的生命周期,其中一个关键点是ViewState,后台把所需要的信息存放到一个叫做__VIEWSTATE的隐藏input框里,这__VIEWSTATE会往服务器回传服务端控件信息(Server controls),下面就是一个ViewState的例子。 div ?input?type=hidden?name=__VIEWSTATE?id=__VIEWSTATE?value=/wEPDwULLTE5NjAwMTc3OTQPZBYCAgMPZBYCAgEPDxYCHgRUZXh0BTRDbGljazogRnVlbD1bRGllc2VsXSwgUG9zdGNvZGVyPVsyMDE0XSwgUHJpY2VzPVsxLjVdZGRkPwaT5ufoa4sSWz2jkkc4+1mjzgA=?/ /div div ?input?type=hidden?name=__EVENTVALIDATION?id=__EVENTVALIDATION?value=/wEWCALvtKiPBwLHjuPuBALEjuPuBALFjuPuBALCjuPuBALDjuPuBAKJr8zPBQLj1NuXC4Mp8caGaDkuTJ50BTH0riQ7xWbK?/ /div ? 在CF.NET下进行HttpWebRequest开发,如果服务端是ASP.net的程序,需要处理ViewState。从图3上看,除了__VIEWSTATE还需要处理__EVENTVALIDATION,其实很简单,通过HttpFox看那个需要取那个。 //Get?the?ViewState?and?EventValidation string?URI?=?49/HttpWebRequest/Default.aspx; HttpWebRequest?request?=?WebRequest.Create(URI)?as?HttpWebRequest; request.Method?=?GET; request.KeepAlive?=?false; //Get?the?response HttpWebResponse?response?=?request.GetResponse()?as?Ht

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档