使用HttpWebRequest方式访问外部接口
第一步,如果不是http网站,则需认证信托证书
/// <summary>
/// 认证信托证书
/// </summary>
/// <param name="sender"></param>
/// <param name="cert"></param>
/// <param name="chain"></param>
/// <param name="error"></param>
/// <returns></returns>
public static bool RemoteCertificateValidate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error)
{
LogHelper.WriteInfo("Warning, trust any certificate");
return true;
}
第二步,文字中文信息转成UTF-8格式
/// <summary>
/// 把中文转换成UTF-8
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string UrlEncode(string str)
{
byte[] utf8 = Encoding.UTF8.GetBytes(str);
string s = "";
foreach (byte b in utf8)
{
s += string.Format("%{0:X2}", b);
}
return s;
}
第三步,使用HttpRequest方式访问指定Url
/// <summary>
/// 使用HttpRequest方式访问Url
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string CreateHttpRequest(string url)
{
try
{
//创建HttpWebRequest请求连接
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
//获取HttpResponse响应
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = null;
StreamReader reader = null;
string strLine = string.Empty;
string strResponse = string.Empty;
//判断请求是否正常
if (response.StatusCode == HttpStatusCode.OK)
{
stream = response.GetResponseStream();
reader = new StreamReader(stream, Encoding.UTF8);
//逐行读取
while ((strLine = reader.ReadLine()) != null)
{
strResponse += strLine + "\r\n";
}
}
}
catch (Exception e)
{
LogHelper.WriteError(e.Message, e);
}
return strResponse;
}
使用HttpWebRequest方式访问外部接口的更多相关文章
- Spring Boot - 访问外部接口最全总结
Spring Boot - 访问外部接口 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求, 比如调用外部的地图API或者天气API. Spring ...
- Spring-Boot 访问外部接口的几种方案总结
一.简介 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求,针对这一需求目前存在着三种解决方案,下面将对这三种方案进行整理和说明. 二.Spring- ...
- Linux实现https方式访问站点
超文本传送协议(HyperText Transfer Protocol,HTML)是一种通信协议,它允许将超文本标记语言文档从web服务器传送到wel浏览器. HTML的特点: 1.支持客户/服务器模 ...
- SharePoint—用REST方式访问列表
REST的定义与作用 在SharePoint 2010中,基本上有如下几种数据访问方式: 服务器端对象模型 LINQ to SharePoint Web Service 客户端对象模型 ADO.NET ...
- salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce
本篇参考Trail教程: https://developer.salesforce.com/trailhead/force_com_dev_intermediate/apex_integration_ ...
- 非链接方式访问数据库--查询的数据集用Dataset来存储。
private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...
- ADO.NET 连接方式和非链接方式访问数据库
一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...
- httpclient 认证方式访问http api/resutful api并获取json结果
最近,因公司线上环境rabbitmq经常发生堆积严重的现象,于是跟运维组讨论,帮助开发个集中监控所有rabbitmq服务器运行情况的应用,需要通过java访问rabbitmq暴露的http api并接 ...
- php 面向对象的方式访问数据库
<body> <?php //面向对象的方式访问数据库 //造对象 $db = new MySQLi("localhost","root",& ...
随机推荐
- mysql之多列索引
mysql的多列索引是经常会遇到的问题,怎样才能有效命中索引,是本文要探讨的重点. 多列索引使用的Btree,也就是平衡二叉树.简单来说就是排好序的快速索引方式.它的原则就是要遵循左前缀索引. 多个索 ...
- github 自学文档 希望可以给初学的人一些帮助
一 .git的安装 windows下面的安装:https://git-for-windows.github.io 从这里下载完全无脑安装. 安装完成后,在开始菜单里找到"Git" ...
- Mvc分页组件MvcSimplePager代码重构
1 Mvc分页组件MvcSimplePager代码重构 1.1 Intro 1.2 MvcSimplePager 代码优化 1.3 MvcSimplePager 使用 1.4 End Mvc分页组件M ...
- Perception(0-1.1)
The perception modules run in the context of the process Cognition. They detect features in the imag ...
- JQUERY 特殊字符
//替换特殊字符 $(this).val($(this).val().replace(/[~'!<>@#$%^&*()-+_=:]/g, ""));
- ToDictionary用法
ToDictionary其实可以简单化,可以传两个lambada表达式,第一个是Key,第二个就是Value. ToDictionary( key => key.Attribute(" ...
- 使用signalR创建聊天室。
浏览器支持Html5的情况下,SignalR使用WebSockets,当不支持时SignalR将使用其它技术来实现通讯. 界面如下:左侧包含三种聊天对象,不同的聊天对象会创建不同的对话框. 设计思路参 ...
- LED :制作一个追逐序列(霹雳游侠)
; ,,}; ; void setup() { ; led<NbrLeds; led++){ pinMode(ledPins[led], OUTPUT); } } void loop() { ; ...
- cdh 安装记录
安装文件准备 CDH 下载地址:http://archive.cloudera.com/cdh5/parcels/latest/ 下载操作系统对应的版本: 1.CDH-5.3.0-1.cdh5.3.0 ...
- iOS 消息推送证书生成方法的简单说明
openssl x509 -in idp.flowtreasure.cer -inform der -out PushChatCert.pem openssl pkcs12 -nocerts -out ...