.net 控制器调用外部链接传参方法

public class RequestHelper
{
/// <summary>
/// 发起post请求
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="url">url</param>
/// <param name="postData">post数据</param>
/// <returns></returns>
public static T PostResponse<T>(string url, object postData)
{
string json = JsonHelper.ToJson(postData);
if (url.StartsWith("https"))
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
HttpContent httpContent = new StringContent(json);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpClient httpClient = new HttpClient();

T result = default(T);

HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result;

if (response.IsSuccessStatusCode)
{
Task<string> t = response.Content.ReadAsStringAsync();
string s = t.Result;
result = JsonHelper.DeSerializeObject<T>(s);
}
return result;
}

/// <summary>
/// 发起get请求
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="url">url</param>
/// <returns></returns>
public static T GetResponse<T>(string url)
{
if (url.StartsWith("https"))
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
HttpClient httpClient = new HttpClient();
T result = default(T);
HttpResponseMessage response = httpClient.GetAsync(url).Result;

if (response.IsSuccessStatusCode)
{
Task<string> t = response.Content.ReadAsStringAsync();
string s = t.Result;
result = JsonHelper.DeSerializeObject<T>(s);
}
return result;
}
}

调用:

List<double[]> logAndLat = new List<double[]>();

logAndLat.Add(new double[] {113.326196, 34.715269 });

logAndLat.Add(new double[] {113.321561, 34.722183});

public static double GetArea(List<double[]> points)
{
string result = RequestHelper.PostResponse<string>("url", points);
double.TryParse(result, out double r);
return r;
}

原文地址:https://www.cnblogs.com/forget-remember/p/8619296.html

时间: 2024-10-29 07:43:27

.net 控制器调用外部链接传参方法的相关文章

spring的几个传参方法

[email protected] 通过URI template 样式映射时,使用@PathVariable <script type="text/javascript">$('#setButton').click(function() { $("#removeId").val(spId); $("#toolBarForm").attr("action","/test/"+$("#id

js方法之间的调用之——传参方法

在最近项目需求中发现,完成一些功能的时候总是要调很多结构类似的方法,写起来很繁琐,所以就想写一个“万能”方法,是的代码更简洁.即:把一个方法作为参数传给这个“万能”方法,让它去执行你给定的方法,就类似于ajax中success/error方法传参,总是传入一个方法体. ####1.将方法作为参数 代码: var a = function(){ console.info("我成功执行了..."); } var excuteFunc = function(funcName){ funcNa

wx.navigateBack传参方法

一.传参页面代码 var pages = getCurrentPages();   //当前页面 var prevPage = pages[pages.length - 2];    //上一页面 prevPage.setData({ //直接给上一页面赋值 id:27, }) wx.navigateBack({ //返回上一页面 delta:1, }) 二.接收传参页面代码(代码写在onShow方法内) var that = this; var pages = getCurrentPages(

不用Ajax时的传参方法

不用Ajax时的怎么传参 创建一个form表单 function test(){ var params = { "参数名": "参数值" }; postExcelFile(params, "请求路径"); } function postExcelFile(params, url) { //params是post请求需要的参数,url是请求url地址 var form = document.createElement("form"

a链接传参的方法

//获取分案编号 var hrefVal=window.location.href.split("?")[1]; //得到id=楼主 //console.log(hrefVal+"后一个"+hrefVal[3]); var theRequest = new Object(); var strs = hrefVal.split( "&" ); //那么我们在新页面接收参数, 并且将参数转为可用的json格式时, 可以用下面的方法: for

.netcore 3.1高性能微服务架构:封装调用外部服务的接口方法--HttpClient客户端思路分析

众所周知,微服务架构是由一众微服务组成,项目中调用其他微服务接口更是常见的操作.为了便于调用外部接口,我们的常用思路一般都是封装一个外部接口的客户端,使用时候直接调用相应的方法.webservice或WCF的做法就是引用服务,自动生成客户端.在webapi2.0里,我们都会手动封装一个静态类.那么在.netcore3.1的微服务时代,我们该如何处理这个问题呢? ----思路都是一样的,封装一个外部服务,并且使用依赖注入和 HttpFactory工厂等.netcore特有的方式提升性能.接下来我们

2016.11.03 1.优化拼接SQL 2.类里面的属性 不传参方法里也可以直接用

string Url = string.Format("{0}/api/sms/v1/s?t={1}&n={2}&m=[{3}]短信:{4}", MainUrl, ApiToken, PhoneNumber, ApiLogo, Content); 用占位符的方法比拼接SQL来的更好 -----------------------------------------------------------------------------------------------

链接传参,一个个jsp界面传参另一个jsp界面接收

cccc.jsp     Title ()确定     () {         = ().();         ();         ..=+;         } bbbb.jsp     Title      ()查看参数     (){         = ;         ();     }

js设置元素的onclick传参方法

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTEN