用请求/相应模型访问internet

原创 2004年06月24日 10:20:00

请求/相应模型

主要用到3个类:URI,WebRequest,WeRresponse.

和internet通信流程:

1):创建 WebRequest

WebRequest wReq = WebRequest.Create("http://www.contoso.com/");

2):在 WebRequest 中设置任何所需的属性值。例如,若要支持身份验证,请将 <?XML:NAMESPACE PREFIX = MSHelp NS = "http://msdn.microsoft.com/mshelp" />Credentials 属性设置为 NetworkCredential 类的实例

wReq.Credentials =
   new NetworkCredential(UserName, SecurelyStoredPassword);
若要访问 HttpWebRequest 的 HTTP 特定的属性,请将 WebRequest 转换为 HttpWebRequest(别的也一样处理)。

3):从 Internet 下载资源,调用 WebRequest 的 GetResponse 方法。调用 WebRequest 的 GetRequestStream 方法,并使用结果 Stream 对象编写数据,

WebResponse wResp = wReq.GetResponse();
4):GetResponseStream 方法从网络资源中获取包含响应数据的流。

Stream respStream = wResp.GetResponseStream();
StreamReader reader = new StreamReader(respStream, Encoding.ASCII);
String respHTML = reader.ReadToEnd();
Console.WriteLine(respHTML);

respStream.Close();//别忘记这一步。

 

HttpWebRequest.ContentType

获取或设置 Content-type HTTP 标头的值。

HttpWebRequest.Method 属性

获取或设置请求的方法

可以将 Method 属性设置为任何 HTTP 1.1 协议谓词:GET、HEAD、POST、PUT、DELETE、TRACE 或 OPTIONS。

如果 ContentLength 属性被设置为 -1 以外的任何值,则必须将 Method 属性设置为上载数据的协议属性。

HttpWebRequest.ContentLength 属性

要发送到 Internet 资源的数据的字节数。默认值为 -1,该值指示尚未设置该属性,并且没有要发送的请求数据。

ContentLength 属性包含要作为请求发送的 Content-length HTTP 标头值。

ContentLength 属性中除了 -1 以外的任何值指示请求将上载数据并且只允许在 Method 属性中设置上载数据的方法。

一旦 ContentLength 属性被设置为某个值,那个字节数就必须写入通过调用 GetRequestStream 或同时调用 BeginGetRequestStreamEndGetRequestStream 返回的请求流。

string postData="firstone="+inputData;
ASCIIEncoding encoding=new ASCIIEncoding();
byte[]  byte1=encoding.GetBytes(postData);
// Set the content type of the data being posted.
myHttpWebRequest.ContentType="application/x-www-form-urlencoded";
// Set the content length of the string being posted.
myHttpWebRequest.ContentLength=postData.Length;
Stream newStream=myHttpWebRequest.GetRequestStream();
newStream.Write(byte1,0,byte1.Length);
Console.WriteLine("The value of 'ContentLength' property after sending the data is {0}",myHttpWebRequest.ContentLength);

            newStream.Close();


笔记1:“请求/响应”模型

“请求/响应”(Request/Response)模型一种通用的网络模型架构。       运用此模型可轻易存取Web资源,简化跨越网络的数据传输操作。它支持HTTP、FTP等通用的网络协议。 ...
  • dzweather
  • dzweather
  • 2016年04月29日 20:36
  • 902

Internet Explorer无法下载 *** (来自 ***)。Internet Explorer无法打开该Internet站点。请求的站点不可用,或找不到。请以后再试。”

Internet Explorer无法下载 *** (来自 ***)。Internet Explorer无法打开该Internet站点。请求的站点不可用,或找不到。请以后再试。” http:...
  • jackpk
  • jackpk
  • 2014年07月28日 17:58
  • 15121

电脑显示已连接网络但是无internet访问

电脑显示已连接网络但是无internet访问自己电脑不知道出什么问题了,连接到无限网络但是无法访问,一开始以为是自己双系统的问题,然后自己在ubuntu那边是可以正常上网的。下面是自己的解决办法:首先...
  • wearge
  • wearge
  • 2017年12月09日 13:30
  • 2543

struts请求走向流程

一.流程图框架往往封装了太多的东西,一次struts请求在其内部的流程如下图所示: 二、流程详解 web.xml:http请求(可以说url链接也可以是form表单)首先会被web.xml里的Str...
  • napoay
  • napoay
  • 2016年01月27日 21:40
  • 1683

关于loadrunner录制时无Internet访问的解决办法。

很多才开始使用loadrunner的萌新可能都遇到过这个问题,具体就是在录制时无法连网,但是关了录制却又可以连网了。 本人前一天也是,在没人教的情况下怎么办?于是我便去网上查。。。 结果全是...
  • qq_32761359
  • qq_32761359
  • 2016年11月15日 13:35
  • 2281

win7显示无法访问Internet 无法上网的解决办法

       今天一早来到实验室,自己的本插上网线死活都上不了网,电脑右下角的网络连接显示“无法访问Internet”,并有一个黄色的小叹号。我试过禁用,修复都不行,都无法连接到登陆网关的页面。郁闷 ...
  • adolinzi
  • adolinzi
  • 2010年11月22日 11:13
  • 14782

Internet Explorer 无法打开该 Internet 站点。请求的站点不可用

Internet Explorer 无法下载 xxx (来自xxx)。 Internet Explorer 无法打开该 Internet 站点。请求的站点不可用,或找不到,请以后再试。 对应的英文版...
  • fuli_mouren
  • fuli_mouren
  • 2016年05月10日 14:10
  • 4434

【Android入门】访问Internet权限

Android新手写程序经常碰到的一个问题就是写了半天的一个APP,结果访问网络访问不了,检查LOG发现时Permission denied.其实这是因为忘记在Manifest.xml里加一句开放网络...
  • sharpxu1985
  • sharpxu1985
  • 2011年01月30日 21:53
  • 6247

微软发布安全通告 2934088

Microsoft 在北京时间2014年2月20日发布的安全通告2934088,已通报Internet Explorer 中一个可导致远程代码执行的漏洞。该漏洞存在IE 10 和IE 9中,其他受支持...
  • MSSecurity
  • MSSecurity
  • 2014年02月20日 19:41
  • 1337

internet连接共享被启用时 出现了一个错误 (null)

服务Firewall和Internet Sharing Service都已启动还是出现此问题 注意到点选允许共享时的提示:当前已为ethernet_32768开启...... 随便选一个别的适配器...
  • u011827755
  • u011827755
  • 2016年12月08日 17:15
  • 988
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用请求/相应模型访问internet
举报原因:
原因补充:

(最多只允许输入30个字)