基础类库积累--HTTP操作类
前言:
积累Http
HttpPost
public static string Post(string url, string data, Dictionary<string, string> headers)
{
byte[] bytes = Encoding.UTF8.GetBytes(data);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
if (headers != null)
{
foreach (var key in headers.Keys)
{
request.Headers.Add(key, headers[key]);
}
}
//写数据
request.Method = "POST";
request.ContentLength = bytes.Length;
request.ContentType = "application/json";
Stream reqstream = request.GetRequestStream();
reqstream.Write(bytes, 0, bytes.Length);
//读数据
request.Timeout = 300000;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8);
string strResult = streamReader.ReadToEnd();
//关闭流
reqstream.Close();
streamReader.Close();
streamReceive.Close();
request.Abort();
response.Close();
return strResult;
}
简介:
- url:请求地址
- data:发送的数据
- headers:头部信息
- ContentType:这个要注意,如果Post的时候报HTTP:403,请检查你传递的数据格式,以及传递的类型
HttpGet
public static String Get(String url, Encoding encode)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "text/html, application/xhtml+xml, */*";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream rs = response.GetResponseStream();
StreamReader sr = new StreamReader(rs, encode);
var result = sr.ReadToEnd();
sr.Close();
rs.Close();
return result;
}
简介:
- url:请求的地址
- encode:请求网页的编码【如果编码不一样,请求的结果可能是乱码】
- ContentType:不同的地址,他返回的类型不一样[如果是API的接口,一般是application/json,如果是网页,一般是text/html]
总结:
在C#后台开发过程中,我们经常会用到Http的Get和Post这两种方式,还有其他的方式什么Delete,Put自己了解,我用C#做爬虫的时候,有时候需要解析网页,使用HttpGet,获取网页信息进行处理,有时候需要模拟用户登陆【走协议】,使用HttpPost提交数据。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?