httpwebrequest 是一个http 请求类,继承于 webrequest。
webrequest 是一个抽象类,能够对统一资源标识符 (uri) 发出请求。
webrequest 有以下派生类:
system.io.packaging.packwebrequestsystem.net.filewebrequestsystem.net.ftpwebrequestsystem.net.httpwebrequest使用时
using system.net;
以下是实例化方法,使用 visual studio 编写代码时,会提示 可以简化代码,原因下面说
string url = "http://baidu.com"; httpwebrequest httpweb = (httpwebrequest)httpwebrequest.create(url);
httpwebrequest 对应的是 url,所以其连接字符串必须是 有效的 http 字符串,网址前面必须加上 http 协议类型。
可以是
http://https://可以加端口
http://baidu.com:666
也可以是ip,但也要加上 http 头和端口。
httpwebrequest 对象实例化,一斜的拼音般不直接new。而是使用.create 方法返回一个 webrequest 对象。
httpwebrequest httpweb = (httpwebrequest)webrequest.create("https://www.whuanle.cn:443");
注意下面两个方法:
httpwebrequest.createwebrequest.createcretate 返回的都是 webrequest 对象,因为 create 是一个静态方法
public static webrequest create(string requesturistring); public static webrequest create(uri requesturi); public static webrequest createdefault(uri requesturi);
所以,创建httpwebrequest 实例时,这样创建:
httpwebrequest httpweb = (httpwebrequest)webrequest.create("https://www.whuanle.cn:443");
httpwebrequest 支持 get 和 post 两种方式进行请求,
设置方法
httpwebrequest httpweb = (httpwebrequest)webrequest.create("https://www.whuanle.cn:443"); httpweb.method = "get";
webrequest 的请求类型。
http://https://ftp://file://httpwebrequest 对象 使用 .getrespon() 方法, 获取返回结果,.getrespon() 返回的是一个webrespon 对象。
webrespon 对象的方法
clo()当由子类重写时,将关闭响应流。
createobjref(type)创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
(inherited frommarshalbyrefobject)dispo()
释放webrespon对象使用的非托管资源。
dispo(boolean)释放由webrespon对象使用的非母亲作文600字初中生托管资源,并可根据需要释放托管资源。
equals(object)确定指定的对象是否等于当前对象。
(inherited fromobject)gethashcode()
作为默认哈希函数。
(inherited fromobject)getlifetimervice()
检索控制此实例的生存期策略的当前生存期服务对象。
(inherited frommarshalbyrefobject)getobjectdata(rializationinfo, streamingcontext)
使用序列化目标对象所需的数据填充rializationinfo。
getresponstream()当在子类中重写时,从 internet 资源返回数据流。
gettype()获取当前实例的type。
(inherited fromo倡议书格式bject)initializelifetimervice()
获取生存期服务对象来控制此实例的生存期策略。
(inherited frommarshalbyrefobject)memberwiclone()
创建当前object的浅表副本。
(inherited fromobject)memberwiclone(boolean)
创建当前marshalbyrefobject对象的浅表副本。
(inherited frommarshalbyrefobject)tostring()
返回表示当前对象的字符串。
(inherited fromobject)
使用 webspon 对象的getresponstream() 方法获取数据流
string url = "https://www.whuanle.cn:443"; webrequest wreq = webrequest.create(url); webrespon wresp = wreq.getrespon(); system.io.stream respstream = wresp.getresponstream();
string url = "https://www.whuanle.cn:443"; webrequest wreq = webrequest.create(url); webrespon wresp = wreq.getrespon(); system.io.stream respstream = wresp.getresponstream(); using (system.io.streamreader reader = new system.io.streamreader(respstream, encoding.utf8)) { string a = ""; while ((a = reader.readline()) != null) { console.writeline(a); } return reader.readtoe路漫漫其修远兮nd(); }
上面是一个获取流的例子,以 utf8 编码输出流,以行读取。
下面是另一个方法
string url = "https://www.whuanle.cn:443"; webrequest wreq = webrequest.create(url); webrespon wresp = wreq.getrespon(); system.io.stream respstream = wresp.getresponstream(); using (system.io.streamreader reader = new system.io.streamreader(respstream, encoding.utf8)) { string str = reader.readtoend(); console.wri红字开头的成语teline(str); }
使用 reader.readtoend() 可以一次性从流中读取所有的字符。
推荐一位其他人的文章,里面列出了webrequest、webrespon 等对象所有的方法、属性等。
地址:
到此这篇关于c#中的httpwebrequest类用法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 14:56:12,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/42cb60ad54000e7e5a49f1c6dc184002.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:C#中的HttpWebRequest类用法详解.doc
本文 PDF 下载地址:C#中的HttpWebRequest类用法详解.pdf
留言与评论(共有 0 条评论) |