C#编程:实现后台GET和POST接口调用
"C# 后台请求接口的方法涵盖了两种常用的方式:GET和POST。本文将详细介绍如何在C#后台代码中实现这两种HTTP请求,并提供相应的示例代码。 POST请求是向服务器发送数据的一种方法,通常用于提交表单或更新资源。在C#中,可以使用`System.Net.WebRequest`类来创建和执行POST请求。以下是一个POST请求的示例: ```csharp #region POST请求示例 public string PostResponse(string url, string param) { string pi_strParm = param; ServicePointManager.Expect100Continue = false; // 配置HTTP 100 Continue行为 Encoding t_Encoding = Encoding.GetEncoding("GB2312"); // 设置编码 Uri t_Uri = new Uri(url); byte[] paramBytes = t_Encoding.GetBytes(pi_strParm); // 参数转换为字节 WebRequest t_WebRequest = WebRequest.Create(t_Uri); t_WebRequest.Timeout = 100000; // 设置超时时间 t_WebRequest.ContentType = "application/x-www-form-urlencoded"; // 设置Content-Type t_WebRequest.Method = "POST"; // 设置请求方法为POST using (Stream t_REStream = t_WebRequest.GetRequestStream()) { t_REStream.Write(paramBytes, 0, paramBytes.Length); // 写入参数 } WebResponse t_WebResponse = t_WebRequest.GetResponse(); // 获取响应 using (StreamReader t_StreamReader = new StreamReader(t_WebResponse.GetResponseStream(), Encoding.UTF8)) { return t_StreamReader.ReadToEnd(); // 读取响应内容 } } #endregion ``` 在上述代码中,首先创建一个`WebRequest`对象,设置请求URL、超时时间、Content-Type和请求方法。然后获取请求流,写入参数数据,最后获取并处理响应。 GET请求则是从服务器获取数据,通常用于查询操作。C#中的GET请求实现如下: ```csharp #region GET请求示例 public string GetResponse(string url) { WebRequest t_WebRequest = WebRequest.Create(url); t_WebRequest.Timeout = 100000; t_WebRequest.Method = "GET"; WebResponse t_WebResponse = t_WebRequest.GetResponse(); using (StreamReader t_StreamReader = new StreamReader(t_WebResponse.GetResponseStream())) { return t_StreamReader.ReadToEnd(); } } #endregion ``` 在这个GET请求示例中,同样创建`WebRequest`对象,但不需要写入请求流,因为GET请求的数据是在URL中携带的。其他步骤与POST请求类似,获取响应并读取响应内容。 这两种方法都是C#后台请求接口的基础,理解并掌握它们有助于进行API调用和数据交互。在实际应用中,可能还需要考虑错误处理、异步请求、证书验证等高级特性,以确保请求的稳定性和安全性。"
/// <summary>
/// POST方式提交数据请求接口
/// </summary>
/// <param name="url">要请求的地址</param>
/// <param name="param">所传参数(格式为param="param")</param>
/// <returns>请求接口返回的数据</returns>
public string PostResponse(string url,string param)
{
string pi_strParm = param;
ServicePointManager.Expect100Continue = false;//post提交数据时,客户端会先询问服务器是否会处理数据,若不处理,则不提交。此设置为不询问,直接提交数据。
Encoding t_Encoding = Encoding.GetEncoding("GB2312");
Uri t_Uri = new Uri(url);
byte[] paramBytes = t_Encoding.GetBytes(pi_strParm);
WebRequest t_WebRequest = WebRequest.Create(t_Uri);
t_WebRequest.Timeout = 100000;
t_WebRequest.ContentType = "application/x-www-form-urlencoded";
t_WebRequest.Method = "POST";
using (Stream t_REStream = t_WebRequest.GetRequestStream())
{
t_REStream.Write(paramBytes, 0, paramBytes.Length);
}
WebResponse t_webResponse = t_WebRequest.GetResponse();
using (StreamReader t_StreamReader = new StreamReader(t_webResponse.GetResponseStream(), Encoding.UTF8))
{
return t_StreamReader.ReadToEnd();
}
}
#endregion
#region GET 方式提交数据
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 2
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展