WebRequest使用 呼叫新浪天氣

2022-08-17 19:42:18 字數 2531 閱讀 5554

//待請求的位址

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();

public

string getweather(string city)

WebRequest 物件的使用

內容比較簡單,直接看 的注釋即可。待請求的位址 string url 建立 webrequest 物件,webrequest 是抽象類,定義了請求的規定,可以用於各種請求,例如 http,ftp 等等。httpwebrequest 是 webrequest 的派生類,專門用於 http 請求的方式通...

使用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 框架提供了特定於...