.Net Framework请求外部Api

news/2024/10/9 12:30:05/

要在.NET Framework 4.5中进行外部API的POST请求,你可以使用HttpClient类。

1. Post请求

using System;
using System.Net.Http;
using System.Threading.Tasks;class Program
{static async Task Main(string[] args){// 创建一个HttpClient实例using (HttpClient client = new HttpClient()){try{// 创建请求的内容var requestData = new { Name = "John", Age = 30 };var content = new StringContent(JsonConvert.SerializeObject(requestData), System.Text.Encoding.UTF8, "application/json");// 发起POST请求并获取响应HttpResponseMessage response = await client.PostAsync("https://api.example.com/some-endpoint", content);// 确认请求成功response.EnsureSuccessStatusCode();// 读取响应内容string responseBody = await response.Content.ReadAsStringAsync();// 处理响应数据Console.WriteLine(responseBody);}catch (HttpRequestException e){// 处理请求异常Console.WriteLine($"请求异常: {e.Message}");}}}
}

另外,post传参还有另外一种方式,使用FormUrlEncodedContent

var content = new FormUrlEncodedContent(new Dictionary<string, string>(){{"empid", "E01930"},});

2. Get请求

// 创建一个HttpClient实例
using (HttpClient client = new HttpClient())
{
// 设置API的URL
string apiUrl = "http://nhbsapt01:801/accountreviewautoupdate";
string fullUrl = apiUrl + "?empid=" + "A00001";try
{// 发送POST请求并获取响应// HttpResponseMessage response = client.PostAsync(apiUrl, content).Result;HttpResponseMessage response = client.GetAsync(fullUrl).Result;// 确保请求成功response.EnsureSuccessStatusCode();// 读取响应内容string responseBody = response.Content.ReadAsStringAsync().Result;// 处理响应数据Console.WriteLine(responseBody);
}
catch (Exception ex)
{Console.WriteLine("Error: " + ex.Message);
}

3. 奇葩(post请求url传参)

// 创建一个HttpClient实例
using (HttpClient client = new HttpClient())
{// 设置API的URLstring apiUrl = "http://nhbsapt01:801/accountreviewautoupdate";string fullUrl = apiUrl + "?empid=" + "A00001";// 构造要发送的参数var postData = new Dictionary<string, string>{{ "empid", "A00001" },};// 将参数转换为表单编码格式var content = new FormUrlEncodedContent(postData);try{// 发送POST请求并获取响应// HttpResponseMessage response = client.PostAsync(apiUrl, content).Result;HttpResponseMessage response = client.PostAsync(fullUrl,content).Result;// 确保请求成功response.EnsureSuccessStatusCode();// 读取响应内容string responseBody = response.Content.ReadAsStringAsync().Result;// 处理响应数据Console.WriteLine(responseBody);}catch (Exception ex){Console.WriteLine("Error: " + ex.Message);}

http://www.ppmy.cn/news/1013433.html

相关文章

Bert详细学习及代码实现详解

BERT概述 BERT的全称是Bidirectional Encoder Representation from Transformers&#xff0c;即双向Transformer的Encoder&#xff0c;因为decoder是不能获要预测的信息的。在大型语料库&#xff08;Wikipedia BookCorpus&#xff09;上训练一个大型模型&#xff08;12 层到 …

基础算法模板

数据结构 单链表的插入删除 const int N=1e6+10; int head,e[N],ne[N],idx; //head 存储头节点的下标 //idx 存储当前已经用到的那个点 void init() {head=-1;idx=0; } void add_to_head(int x)//插入头节点操作 {e[idx]=x;ne[idx]=head;head=idx;idx++; } void add(int k)/…

docker小白第一天

docker小白第一天 docker是什么docker理念容器与虚拟机比较docker能干什么docker官网介绍docker的基本组成docker平台架构 docker是什么 系统平滑移植&#xff0c;容器虚拟化技术。即源代码配置环境版本&#xff0c;打个包形成一个镜像文件&#xff0c;即软件带环境一起安装&a…

【Java从0到1学习】06 Java 面向对象

1. 面向对象思想 面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物&#xff0c;这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物&#xff0c;使用对象的关系来描述事物之间的联系&#xff0c;这种思想就是面向对象。 提到…

DocX 生成Word

当然&#xff0c;这里是一个使用DocX库在.NET Core中操作Word文档的简单示例&#xff1a; 首先&#xff0c;确保你在项目中安装了DocX库。你可以在NuGet包管理器中搜索并安装DocX。 然后&#xff0c;使用以下代码来创建一个简单的Word文档并添加一些内容&#xff1a; using …

解决MAC M1处理器运行Android protoc时出现的错误

Protobuf是Google开发的一种新的结构化数据存储格式&#xff0c;一般用于结构化数据的序列化&#xff0c;也就是我们常说的数据序列化。这个序列化协议非常轻量级和高效&#xff0c;并且是跨平台的。目前&#xff0c;它支持多种主流语言&#xff0c;比传统的XML、JSON等方法更具…

详细教程:如何搭建废品回收小程序

废品回收是一项环保举措&#xff0c;通过回收和再利用废弃物品&#xff0c;可以减少资源浪费和环境污染。近年来&#xff0c;随着智能手机的普及&#xff0c;小程序成为了推广和运营的重要工具。本文将详细介绍如何搭建一个废品回收小程序。 1. 进入乔拓云网后台 首先&#xf…

全面讲解最小二乘法

常见的最小二乘法我们就不多说了&#xff0c;下面主要介绍一下最小二乘法的一些先进方法。 正则化的最小二乘法 在使用常见的最小二乘法进行回归分析时&#xff0c;常常会遇到过拟合的问题&#xff0c;也就是在训练数据集上表现的很好&#xff0c;但是在测试数据集上表现的很…