第一步,如果不是http网站,则需认证信托证书

  1. /// <summary>
  2. /// 认证信托证书
  3. /// </summary>
  4. /// <param name="sender"></param>
  5. /// <param name="cert"></param>
  6. /// <param name="chain"></param>
  7. /// <param name="error"></param>
  8. /// <returns></returns>
  9. public static bool RemoteCertificateValidate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error)
  10. {
  11. LogHelper.WriteInfo("Warning, trust any certificate");
  12. return true;
  13. }

第二步,文字中文信息转成UTF-8格式

  1.      /// <summary>
  2. /// 把中文转换成UTF-8
  3. /// </summary>
  4. /// <param name="str"></param>
  5. /// <returns></returns>
  6. public static string UrlEncode(string str)
  7. {
  8. byte[] utf8 = Encoding.UTF8.GetBytes(str);
  9. string s = "";
  10. foreach (byte b in utf8)
  11. {
  12. s += string.Format("%{0:X2}", b);
  13. }
  14. return s;
  15. }

第三步,使用HttpRequest方式访问指定Url

  1.      /// <summary>
  2. /// 使用HttpRequest方式访问Url
  3. /// </summary>
  4. /// <param name="url"></param>
  5. /// <returns></returns>
  6. public static string CreateHttpRequest(string url)
  7. {
  8. try
  9. {
  10. //创建HttpWebRequest请求连接
  11. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
  12. //获取HttpResponse响应
  13. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  14. Stream stream = null;
  15. StreamReader reader = null;
  16. string strLine = string.Empty;
  17. string strResponse = string.Empty;
  18. //判断请求是否正常
  19. if (response.StatusCode == HttpStatusCode.OK)
  20. {
  21. stream = response.GetResponseStream();
  22. reader = new StreamReader(stream, Encoding.UTF8);
  23. //逐行读取
  24. while ((strLine = reader.ReadLine()) != null)
  25. {
  26. strResponse += strLine + "\r\n";
  27. }
  28. }
  29. }
  30. catch (Exception e)
  31. {
  32. LogHelper.WriteError(e.Message, e);
  33. }
  34. return strResponse;
  35. }

使用HttpWebRequest方式访问外部接口的更多相关文章

  1. Spring Boot - 访问外部接口最全总结

    Spring Boot - 访问外部接口 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求, 比如调用外部的地图API或者天气API. Spring ...

  2. Spring-Boot 访问外部接口的几种方案总结

    一.简介 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求,针对这一需求目前存在着三种解决方案,下面将对这三种方案进行整理和说明. 二.Spring- ...

  3. Linux实现https方式访问站点

    超文本传送协议(HyperText Transfer Protocol,HTML)是一种通信协议,它允许将超文本标记语言文档从web服务器传送到wel浏览器. HTML的特点: 1.支持客户/服务器模 ...

  4. SharePoint—用REST方式访问列表

    REST的定义与作用 在SharePoint 2010中,基本上有如下几种数据访问方式: 服务器端对象模型 LINQ to SharePoint Web Service 客户端对象模型 ADO.NET ...

  5. salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce

    本篇参考Trail教程: https://developer.salesforce.com/trailhead/force_com_dev_intermediate/apex_integration_ ...

  6. 非链接方式访问数据库--查询的数据集用Dataset来存储。

    private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...

  7. ADO.NET 连接方式和非链接方式访问数据库

    一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...

  8. httpclient 认证方式访问http api/resutful api并获取json结果

    最近,因公司线上环境rabbitmq经常发生堆积严重的现象,于是跟运维组讨论,帮助开发个集中监控所有rabbitmq服务器运行情况的应用,需要通过java访问rabbitmq暴露的http api并接 ...

  9. php 面向对象的方式访问数据库

    <body> <?php //面向对象的方式访问数据库 //造对象 $db = new MySQLi("localhost","root",& ...

随机推荐

  1. 用android代码显示图片的一部分源码

    ShowPoritionPictureActivity代码: [java] <span style="font-size:16px;"> package com.iwi ...

  2. go: GOPATH entry is relative; must be absolute path: "".

    安装:vscode-go出现以下提示: go: GOPATH entry is relative; must be absolute path: "".Run 'go help g ...

  3. .NET中的类库

    1.object类  所有类都继承于object类,是顶级父类,他有以下成员,都是虚方法:  a)   ToString() 默认输出对象所属类的全名称(命名空间.类名) b)   Equals (O ...

  4. 软件各种版本的含义!例如RC,M,GA等等

    RC版本   RC:(Release Candidate)   Candidate是候选人的意思,用在软件上就是候选版本.Release是发行.发布的意思.Release.Candidate.就是发行 ...

  5. 第一百三十五节,JavaScript,封装库--拖拽

    JavaScript,封装库--拖拽 封装库新增1个拖拽方法 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:一般需要在css文件将元素里的某一个区块光标设置成提示可以拖拽, ...

  6. 关于IO多路复用的一篇好文

    http://blog.csdn.net/baixiaoshi/article/details/48708347 http://blog.csdn.net/hguisu/article/details ...

  7. JavaScript(暂时弃坑...)

    简单数据类型:字符串型.布尔型.数值型 变量名可以包含数字.字母.下划线.$,但不能以数字开头,大小写敏感,不能是JavaScript关键字.避开保留字 //JavaScript保留字 break e ...

  8. java-并发解决方案

    并发产生数据不一致的原因:1.程序共享对象:2.多线程.3.基于1和2,取出来的数据可能不是最新的. 解决方案:只要是原子性操作,就不会出现问题.原子性操作,代表cpu会一直执行这个操作,知道结束. ...

  9. Web.config 文件中的 system.webServer

    Web.config 文件中的 system.webServer 节用于指定适用于 Web 应用程序的 IIS 7.0 设置.system.WebServer 是 configuration 节的子级 ...

  10. spring boot maven 插件

    spirng boot 需要使用专用maven插件打包,才能打包.引入如下. <build>        <plugins>            <plugin> ...