WebRequest 物件的使用

2022-03-22 08:26:14 字數 2505 閱讀 1518

內容比較簡單,直接看**的注釋即可。

//

待請求的位址

string url = "

";//建立 webrequest 物件,webrequest 是抽象類,定義了請求的規定,

//可以用於各種請求,例如:http, ftp 等等。

//httpwebrequest 是 webrequest 的派生類,專門用於 http

請求的方式通過 method 屬性設定 ,預設為 get

//可以將 method 屬性設定為任何 http 1.1 協議謂詞:get、head、post、put、delete、trace 或 options。

request.method = "

post";

//還可以在請求中附帶 cookie

//但是,必須首先建立 cookie 容器

request.cookiecontainer = new

system.net.cookiecontainer();

system.net.cookie requestcookie = new system.net.cookie("

request

", "

requestvalue

","/

", "

localhost");

request.cookiecontainer.add(requestcookie);

console.writeline(

"請輸入請求引數:");

//輸入 post 的資料.

string inputdata =console.readline(); //

拼接成請求引數串,並進行編碼,成為位元組

string postdata = "

firstone=

" +inputdata;

asciiencoding encoding = new

asciiencoding();

byte byte1 =encoding.getbytes(postdata); //

設定請求的引數形式

request.contenttype = "";

//設定請求引數的長度.

request.contentlength =byte1.length; //

取得發向伺服器的流

system.io.stream newstream =request.getrequeststream(); //

使用 post 方法請求的時候,實際的引數通過請求的 body 部分以流的形式傳送

newstream.write(byte1, 0

, byte1.length); //

完成後,關閉請求流.

newstream.close(); //

getresponse 方法才真的傳送請求,等待伺服器返回

首先得到回應的頭部,可以知道返回內容的長度或者型別

console.writeline("

content length is

", response.contentlength);

console.writeline(

"content type is

", response.contenttype); //

回應的 cookie 在 cookie 容器中

foreach (system.net.cookie cookie in

response.cookies)

, value:

", cookie.name, cookie.value);

}console.writeline(); //

然後可以得到以流的形式表示的回應內容

system.io.stream receivestream =response.getresponsestream();     //

還可以將位元組流包裝為高階的字元流,以便於讀取文字內容

//需要注意編碼

system.io.streamreader readstream = new

system.io.streamreader(receivestream, encoding.utf8);

console.writeline(

"response stream received.");

console.writeline(readstream.readtoend()); //

完成後要關閉字元流,字元流底層的位元組流將會自動關閉

response.close();

readstream.close();

WebRequest使用 呼叫新浪天氣

待請求的位址 string url 建立 webrequest 物件,webrequest 是抽象類,定義了請求的規定,可以用於各種請求,例如 http,ftp 等等。httpwebrequest 是 webrequest 的派生類,專門用於 http 請求的方式通過 method 屬性設定 預設為...

使用WebRequest時,URL中含有中文的問題

如下url 北京,由於中間有中文字元,傳到webrequest中時,得不到正確結果。為了使webrequest操作時,url支援中文,需要對這些中文特殊處理一下 encoding ed encoding.getencoding gb2312 webrequest req webrequest.cre...

C 使用WebRequest類請求資料

本文翻譯於 下列程式描述的步驟用於從伺服器請求乙個資源,例如,乙個web頁面或檔案。必須由uri標識的資源。從主機伺服器請求資料 1 建立乙個webrequest例項通過呼叫建立uri的資源。webrequest request webrequest.create note net 框架提供了特定於...