用请求/相应模型访问internet

请求/相应模型

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

和internet通信流程:

1):创建 WebRequest

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

2):在 WebRequest 中设置任何所需的属性值。例如,若要支持身份验证,请将 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();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值