CSDN博客

img huguojunsy

用请求/相应模型访问internet

发表于2004/6/24 10:20:00  848人阅读

分类: 网络

请求/相应模型

主要用到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 下载资源,调用 WebRequestGetResponse 方法。调用 WebRequestGetRequestStream 方法,并使用结果 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

相关博文

我的热门文章

img
取 消
img