C# 调用Webservice接口接受数据测试
1.http://t.csdnimg.cn/96m2g
此链接提供测试代码;
2.http://t.csdnimg.cn/64iCC
此链接提供测试接口;
关于Webservice的基础部分不做赘述,下面贴上我的测试代码(属于动态调用Webservice):
1:http助手类
using System.Net;
using System.Text;
using System.Web;
using static System.Net.Mime.MediaTypeNames;namespace WebServiceGetWeather;public class HttpHelper
{private static HttpHelper m_Helper;/// <summary>/// 单例模式/// </summary>public static HttpHelper Helper{get { return m_Helper ?? (m_Helper = new HttpHelper()); }}/// <summary>/// 获取请求的数据/// </summary>/// <param name="strUrl">请求地址</param>/// <param name="requestMode">请求方式</param>/// <param name="parameters">参数</param>/// <param name="requestCoding">请求编码</param>/// <param name="responseCoding">响应编码</param>/// <param name="timeout">请求超时时间(毫秒)</param>/// <returns>请求成功响应信息,失败返回null</returns>public string GetResponseString(string strUrl, ERequestMode requestMode, Dictionary<string,string> parameters, Encoding requestCoding, Encoding responseCoding, int timeout = 300){string url = VerifyUrl(strUrl);HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(url));HttpWebResponse webResponse = null;switch (requestMode){case ERequestMode.Get:webResponse = GetRequest(webRequest, timeout);break;case ERequestMode.Post:webResponse = PostRequest(webRequest, parameters, timeout, requestCoding);break;}if (webResponse != null && webResponse.StatusCode == HttpStatusCode.OK){using (Stream newStream = webResponse.GetResponseStream()){if (newStream != null)using (StreamReader reader = new StreamReader(newStream, responseCoding)){string result = reader.ReadToEnd();return result;}}}return null;}/// <summary>/// get 请求指定地址返回响应数据/// </summary>/// <param name="webRequest">请求</param>/// <param name="timeout">请求超时时间(毫秒)</param>/// <returns>返回:响应信息</returns>private HttpWebResponse GetRequest(HttpWebRequest webRequest, int timeout){try{webRequest.Accept = "text/html, application/xhtml+xml, application/json, text/javascript, */*; q=0.01";webRequest.Headers.Add("Accept-Language", "zh-cn,en-US,en;q=0.5");webRequest.Headers.Add("Cache-Control", "no-cache");webRequest.UserAgent = "DefaultUserAgent";//webRequest.ContentType = "application / json";webRequest.Timeout = timeout;webRequest.Method = "GET";// 接收返回信息HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();return webResponse;}catch (Exception ex){return null;}}/// <summary>/// post 请求指定地址返回响应数据/// </summary>/// <param name="webRequest">请求</param>/// <param name="parameters">传入参数</param>/// <param name="timeout">请求超时时间(毫秒)</param>/// <param name="requestCoding">请求编码</param>/// <returns>返回:响应信息</returns>private HttpWebResponse PostRequest(HttpWebRequest webRequest, Dictionary<string, string> parameters, int timeout, Encoding requestCoding){try{// 拼接参数string postStr = string.Empty;if (parameters != null){parameters.All(o =>{if (string.IsNullOrEmpty(postStr))postStr = string.Format("{0}={1}", HttpUtility.UrlEncode(o.Key), HttpUtility.UrlEncode(o.Value));elsepostStr += string.Format("&{0}={1}", HttpUtility.UrlEncode(o.Key), HttpUtility.UrlEncode(o.Value));return true;});}byte[] byteArray = requestCoding.GetBytes(postStr);webRequest.Accept = "text/html, application/xhtml+xml, application/json, text/javascript, */*; q=0.01";webRequest.Headers.Add("Accept-Language", "zh-cn,en-US,en;q=0.5");webRequest.Headers.Add("Cache-Control", "no-cache");webRequest.UserAgent = "DefaultUserAgent";//webRequest.Timeout = timeout;webRequest.ContentType = "application/x-www-form-urlencoded";webRequest.ContentLength = byteArray.Length;webRequest.Method = "POST";// 将参数写入流using (Stream newStream = webRequest.GetRequestStream()){newStream.Write(byteArray, 0, byteArray.Length);newStream.Close();}// 接收返回信息HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();return webResponse;}catch (Exception ex){return null;}}/// <summary>/// 验证URL/// </summary>/// <param name="url">待验证 URL</param>/// <returns></returns>private string VerifyUrl(string url){if (string.IsNullOrEmpty(url))throw new Exception("URL 地址不可以为空!");if (url.StartsWith("http://", StringComparison.CurrentCultureIgnoreCase))return url;return string.Format("http://{0}", url);}
}
public enum ERequestMode
{Get,Post
}
2:调用方法
internal class Program{static void Main(string[] args){Console.WriteLine("Hello, World!");TestInvoke();}/// <summary>/// 测试调用/// </summary>static void TestInvoke(){//组织参数//<参数名,参数值>Dictionary<string, string> parameters = new Dictionary<string, string>();parameters.Add("byProvinceName", "北京");//getSupportCity是方法名称直接放在后面string url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity ";string _result = HttpHelper.Helper.GetResponseString(url, ERequestMode.Post, parameters, Encoding.Default, Encoding.UTF8);}
注意事项:
1:接口方法里面的案例参数要与代码中指定的一致:
2:方法名直接放在url结尾:
string url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity ";
△ 其中getSupportCity 就是方法名。
Dictionary<string, string> parameters = new Dictionary<string, string>();
△ 其中parameters 的key是方法参数名,value是参数值。
先装一下原创,原作有想法评论或者私聊,即可更改。
相关文章:

C# 调用Webservice接口接受数据测试
1.http://t.csdnimg.cn/96m2g 此链接提供测试代码; 2.http://t.csdnimg.cn/64iCC 此链接提供测试接口; 关于Webservice的基础部分不做赘述,下面贴上我的测试代码(属于动态调用Webservice): 1ÿ…...

工作流流程引擎框架推荐来了
近期有不少粉丝客户朋友都在询问工作流流程引擎框架推荐。随着行业竞争激烈化,实现流程化办公已经成为当务之急。低代码技术平台及工作流流程引擎拥有够灵活、更可靠、可视化界面等诸多个优势特点,在推动企业实现数字化转型的过程中深受行业信赖与喜爱。…...

从技术博客到个人 IP 矩阵:全面攻略与实战示例
文章目录 摘要引言创建博客选择平台设计和布局 内容规划明确目标受众设定内容方向制定发布计划 SEO 优化关键词研究内链和外链元标签优化 社交媒体推广选择社交平台制定推广策略 可运行的 Demo 代码模块QA 环节问:如何增加博客的曝光度?问:如…...
SOFAJRaft 简介
SOFAJRaft 简介 SOFAJRaft是一个基于Raft一致性算法的生产级高性能Java实现,由蚂蚁金服自主研发。以下是关于SOFAJRaft的详细介绍: 来源与背景: SOFAJRaft是从百度的braft移植而来,并在其基础上进行了一系列的优化和改进。它作为…...
c#中Oracle.DataAccess.dll连接数据库的报错处理
通过DataAccess.dll连接Oracle数据库时,报如下错误 The provider is not compatible with the version of Oracle client 最终原因: dll 文件复制不全(4个文件必须) oracle.dataaccess.dll oci.dll oraociei11.dll oraops11w.dll...

PyCharm2024 专业版激活设置中文
PyCharm2024 专业版激活设置中文 官网下载最新版:https://www.jetbrains.com/zh-cn/pycharm/download 「hack-jet激活idea家族.zip」链接:https://pan.quark.cn/s/4929a884d8fe 激活步骤: 官网下载安装PyCharm ;测试使用的202…...

视觉SLAM第一讲
第一讲-预备知识 SLAM是什么? SLAM(Simultaneous Localization and Mapping)是同时定位与地图构建。 它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己…...

吴恩达机器学习C1W2Lab05-使用Scikit-Learn进行线性回归
前言 有一个开源的、商业上可用的机器学习工具包,叫做scikit-learn。这个工具包包含了你将在本课程中使用的许多算法的实现。 目标 在本实验中,你将: 利用scikit-learn实现使用梯度下降的线性回归 工具 您将使用scikit-learn中的函数以及matplotli…...

springboot集成thymeleaf实战
引言 笔者最近接到一个打印标签的需求,由于之前没有做过类似的功能,所以这也是一次学习探索的机会了,打印的效果图如下: 这个最终的打印是放在58mm*58mm的小标签纸上,条形码就是下面的35165165qweqweqe序列号生成的&…...

SpringBoot+Vue+kkFileView实现文档管理(文档上传、下载、在线预览)
场景 SpringBootVueOpenOffice实现文档管理(文档上传、下载、在线预览): SpringBootVueOpenOffice实现文档管理(文档上传、下载、在线预览)_霸道流氓气质的博客-CSDN博客_vue openoffice 上面在使用OpenOffice实现doc、excel、ppt等文档的管理和预览。 除此之外…...

从代码层面熟悉UniAD,开始学习了解端到端整体架构
0. 简介 最近端到端已经是越来越火了,以UniAD为代表的很多工作不断地在不断刷新端到端的指标,比如最近SparseDrive又重新刷新了所有任务的指标。在端到端火热起来之前,成熟的模块化自动驾驶系统被分解为不同的独立任务,例如感知、…...

微信小程序-选中文本时选中checkbox
1.使用labe嵌套住checkbox标签 <label class"label-box"> <checkbox >匿名提交</checkbox> </label>2.使checkbox和label组件在同一行 .label-box{display: flex;align-items: center; }效果图 此时选中文本匿名提交,checkbox…...

[玄机]流量特征分析-蚁剑流量分析
题目网址【玄机】:https://xj.edisec.net/ AntSword(蚁剑)是一款开源的网络安全工具,常用于网络渗透测试和攻击。它可以远程连接并控制被攻击计算机,执行命令、上传下载文件等操作。 蚁剑与网站进行数据交互的过程中&a…...

2-51 基于matlab的IFP_FCM(Improved fuzzy partitions-FCM)
基于matlab的IFP_FCM(Improved fuzzy partitions-FCM),改进型FCM(模糊C均值)聚类算法,解决了FCM算法对初始值设定较为敏感、训练速度慢、在迭代时容易陷入局部极小的问题。并附带了Box和Jenkins煤气炉数据模型辨识实例。程序已调通࿰…...

Java人力资源招聘社会校招类型招聘小程序
✨💼【职场新风尚!解锁人力资源招聘新神器:社会校招类型招聘小程序】✨ 🎓【校招新体验,一键触达梦想企业】🎓 还在为错过校园宣讲会而懊恼?别怕,社会校招类型招聘小程序来救场&am…...

oracle表、表空间使用空间
文章目录 一、Oracle查询表空间占用情况二、Oracle查询表占用的空间三、Oracle查询表空间使用情况四、Oracle查询每张表占用空间五、表空间大小 TOC 一、Oracle查询表空间占用情况 oracle日常工作中查看表占用空间大小是数据库管理中的基本操作: SELECT a.tablesp…...

IDEA管理远程仓库Git
1、模拟项目 新建一个文件夹,用来这次演示 用IDEA来打开文件夹 2、创建仓库 在IDEA中给该文件夹创建本地仓库和远程仓库 在菜单栏找到VCS选择Share project on Gitee 在弹窗中输入描述信息 接下来会出现以下弹窗 点击ADD后,在gitee上会创建远程仓库 …...
【数据结构】Java实现二叉搜索树
二叉搜索树的基本性质 二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树,它具有以下特征: 1. 节点结构:每个节点包含一个键(key)和值(value),以及指…...
钉钉小程序如何通过setdate重置对象
在钉钉小程序中,通过setData方法来重置对象(即更新对象中的数据)是一个常见的操作。然而,需要注意的是,钉钉小程序(或任何小程序平台)的setData方法在处理对象更新时有一些特定的规则和最佳实践…...

DjangoRF-10-过滤-django-filter
1、安装pip install django-filter https://pypi.org/ 搜索django-filter基础用法 2、进行配置 3、进行内容调试。 4、如果碰到没有关联的字段。interfaces和projects没有直接关联字段,但是interface和module有关联,而且module和projects关联&#x…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...