首页 > 其他分享 >.NET Framework 4 请求https接口

.NET Framework 4 请求https接口

时间:2024-01-23 14:24:19浏览次数:33  
标签:item request System Framework https var using NET data

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
using Newtonsoft.Json;

namespace Test.A
{
    public static class HttpHelper
    {
        public static T PostHttps<T>(string url, Dictionary<string, string> parameters, object[] args) where T : new()
        {
            // 这里设置了协议类型。把SSL验证的设置写到HttpRequect创建之前 
            ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.Credentials = CredentialCache.DefaultCredentials;
            request.Timeout = 30000;

            //处理参数列表
            var sb = new StringBuilder();
            foreach (var item in parameters)
            {
                //sb.AppendFormat("{0}={1}&", item.Key, item.Value);
                sb.AppendFormat("{0}={1}&", HttpUtility.UrlEncode(item.Key), HttpUtility.UrlEncode(item.Value));
            }
            var paramStr = sb.ToString().TrimEnd('&');
            byte[] data = Encoding.UTF8.GetBytes(paramStr);
            request.ContentLength = data.Length;
            Stream writer = request.GetRequestStream();
            writer.Write(data, 0, data.Length);
            writer.Close();

            StreamReader sr = new StreamReader(request.GetResponse().GetResponseStream(), Encoding.UTF8);
            var resultStr = sr.ReadToEnd();
            return JsonConvert.DeserializeObject<T>(resultStr);
        }
    }
}

 

标签:item,request,System,Framework,https,var,using,NET,data
From: https://www.cnblogs.com/Zing/p/17982343

相关文章

  • 浏览器http自动跳转https解决方法
    在某个浏览器用https登录过之后,浏览器会自动改为https访问,导致测试环境进不去,需要删除hsts,不同浏览器的处理办法为:IE浏览器1.地址栏中输入edge://net-internals/#hsts2.在Deletedomain中输入项目的域名,并Delete(删除)3.可以在Querydomain测试是否删除成功。Chrome浏览器1.地......
  • 如何为Azure Kubernetes Services启用Internal Loadbalancer
    如何为AzureKubernetesServices启用InternalLoadbalancer熟悉AzureKubernetesServices(AKS)的小伙伴都知道,默认情况下,当我们创建AzureKubernetesServices群集时,创建的都是Public的AKS群集,也就是可以提供Internet访问的AKS群集。PublicAKS群集会默认附带一个Public类型的Load......
  • .Net 中实体类转换为XML字符串, 确保字符串头部是utf-8 不是utf-16
    使用Utf8StringWriter或类似的方法来确保在序列化过程中使用正确的编码。然而,Utf8StringWriter不是.NETCore或.NETStandard库的一部分,因此你需要自己实现一个。不过,有一种更简单的方法可以达到相同的效果,那就是使用StringWriter与Encoding.GetEncoding("utf-8")结合,但这实际上......
  • .NET 6 ASP.NET Core API 项目依赖注入一个全局对象,确保全局只实例化一次,调用的都是此
    在.NET6中,实现全局单例服务的方法是通过内置在ASP.NETCore中的依赖注入(DI)容器来完成的。DI容器负责创建和管理服务的实例,包括控制它们的生命周期。对于单例服务,DI容器将确保在应用程序的整个生命周期内只创建服务的一个实例,并且所有对该服务的请求都会返回这个单一的实例。以下......
  • .NET 6 实现一个任务队列,且在不同线程中调用队列,队列始终都是串行执行
    在.NET6中,要实现一个任务队列,确保队列中的任务始终串行执行,即使它们是由不同线程调用的,你可以使用Channel<T>结合Task.Run或者更简单地使用BlockingCollection<T>与Task.Factory.StartNew或async/await模式。不过,为了保持代码的简洁性和现代性,我会推荐使用Channel<T>结合async/aw......
  • hivesql报错:java.net.SocketTimeoutException: Read timed out
    场景:在dolphin里面执行hivesql脚本,报错java.net.SocketTimeoutException:Readtimedout解决方式:hive.metastore.client.socket.timeout=1000s 扩展:"Hive报Readtimedout"错误可能也与YARN的资源限制有关。可以通过增加YARN的配置参数来解决此错误。<property><name......
  • https://github.com/runze1223/VH-NBEATS 时序数据NBEATS
    https://github.com/runze1223/VH-NBEATS http://ise.thss.tsinghua.edu.cn/~mlong/doc/TimesNet-iclr23.pdf  https://www.xjx100.cn/news/6779.html  https://blog.csdn.net/qq_59482564/article/details/134912580 https://blog.csdn.net/qq_59482564/arti......
  • 兴达易控EtherCAT主站转Profinet网关超级推荐
    兴达易控EtherCAT主站转Profinet网关超级推荐网关XD-ETHPNM20为EtherCAT主站转Profinet从站的协议网关,两种工业实时以太网网络之间双向传输IO数据。适用于具有EtherCAT协议网络与Profinet协议网络跨越网络界限进行数据交换的解决方案。网关的第一通讯接口作为简单IO设备集成在......
  • Failed to create CoreCLR, HRESULT: 0x80070008--.net core 8 run in docker
    这几天计划打算上传微服务网关和微服务注册中心的docker镜像:Taurus.Gateway、Taurus.RegistryCenter却发现dockerhub在国内无法使用了。目前使用阿里云个人免费版来上传镜像。用.netcore8打包本地测试正常后,上传阿里云,再从虚拟机测试下载运行时出现以下问题:Failedtocre......
  • .NET Framework中关于WPF的更新信息
    .NETFramework3.0版中的新增功能更新:2007年11月单独发布.NETFramework3.0版是为了在.NETFramework和Windows软件开发包(SDK)中包含以下技术。WindowsCommunicationFoundationWindowsPresentationFoundationUnderstandingWindowsWorkflowFoundation......