首页 > 编程语言 >C#、.Net通过HttpWebRequest请求WebService接口

C#、.Net通过HttpWebRequest请求WebService接口

时间:2024-06-11 12:11:50浏览次数:14  
标签:string C# bytes request param result HttpWebRequest Net Append

点击查看代码
 /// <summary>
 /// 测试按钮中调用WebService接口
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void button1_Click(object sender, EventArgs e)
 {
     //string result = HttpPostWebService(textBox1.Text, textBox2.Text);
     string result = HttpPostWebService("http://localhost:5000/StudentService.asmx", "<strInput>192.168.1.100</strInput>");
     MessageBox.Show(result);
 }

 /// <summary>
 /// 调用WebService接口
 /// </summary>
 /// <param name="url">请求接口地址</param>
 /// <param name="strInput"></param>
 /// <returns></returns>
 public string HttpPostWebService(string url, string strInput)
 {
     string result = string.Empty;//返回值
     //string param = string.Empty;//请求参数
     byte[] bytes = null;
     HttpWebRequest request = null;
     Stream writer = null;
     string responseString = string.Empty;//返回内容
     // SOAP格式内容,参数为:xml
     StringBuilder param = new StringBuilder();
     param.Append("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n");
     param.Append("<soap:Body>\r\n");
     param.Append("<Get xmlns=\"http://tempuri.org/\">\r\n");//请求方法名称
     param.Append("<strInput>测试</strInput>");//请求参数
     param.Append("</Get>\r\n</soap:Body>\r\n</soap:Envelope>");
     try
     {
         //param = $"strInput={strInput}";//接收参数名称
         bytes = Encoding.UTF8.GetBytes(param.ToString());
         request = (HttpWebRequest)WebRequest.Create(url);
         request.Method = "POST";
         request.ContentType = "text/xml;charset=UTF-8";
         request.ContentLength = bytes.Length;
         request.Timeout = 10000; // 设置请求超时时间为10秒
         using (writer = request.GetRequestStream())
         {
             writer.Write(bytes, 0, bytes.Length);
         }
         using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
         {
             using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
             {
                 result = sr.ReadToEnd();
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return result;
 }
`

标签:string,C#,bytes,request,param,result,HttpWebRequest,Net,Append
From: https://www.cnblogs.com/cplmlm/p/18241826

相关文章

  • c/c++设计模式---策略模式
    一个具体范例的逐步重构Fighter.h#ifndef__RIGHTER__#define__RIGHTER__////增加补充生命值道具(药品)//enumItemAddlife//{//LF_BXD,//补血丹//LF_DHD,//大还丹//LF_SHD,//守护丹//};classItemStrategy;//类前向声明//战斗者父类class......
  • 使用Cordova运行项目到android
    ApacheCordovaisanopen-sourcemobiledevelopmentframework.Itallowsyoutousestandardwebtechnologies-HTML5,CSS3,andJavaScriptforcross-platformdevelopment.Applicationsexecutewithinwrapperstargetedtoeachplatform,andrelyonstandar......
  • VsCode中snippets --- vue自定义代码片段
    vue自定义代码片段Vue2代码片段1、点击文件→首选项→选择配置用户代码片段2、在弹出这个窗口中选择新建全局代码片段文件3、选择后在此处输入文件名后按‘Enter’键确定4、点击确定后会生成以下文件5、替换成以下vue2代码片段6、使用代码片段Vue3代码片段使用defineC......
  • IC693CPU331S CPU 331 Module
    IC693CPU331S  CPU 331 Module板卡控制通常具有较高的实时性能,可以在短的响应时间内进行控制和监测。这是因为板卡控制直接与硬件设备连接,并通过硬件接口进行数据采集和输出控制。它不依赖于外部的通信和传输过程,因此可以实时地对设备进行控制和反馈。PLC控制的实时性能相......
  • cmd常用命令
    一、启动cmd方式用户启动,Win+r输入cmd,Enter管理员启动,Win+r输入cmd,Ctrl+Shift+Enter二、文件夹命令进入文件夹cdD:\build\typora\file返回上一级cd..跳转到根目录cd\跳转指定路径(假设现在在D:\typora跳转到D:\网页下载)cdD:\网页下载打开文件夹......
  • 《DSP开发》TMS320F28XX-ADC模块
    1.1、特征1.2、功能框图2.1、ADC模块配置1、ADC时钟使能。ADC时钟没有使能的话,后续对ADC相关寄存器的配置值虽然被写入,但实际不会生效。2、校准ADC参考、DAC偏移和内部振荡器。Device_cal();3、配置ADC模块转换误差、参考模式、参考基准、时钟分频、ADC中断触发时刻,最......
  • 全球Web数据库管理工具推荐(ChatGPT 4o的推荐是什么样?)
    在现代数据管理和开发中,Web数据库管理工具变得越来越重要。这些工具不仅提供了直观的用户界面,还支持跨平台操作,方便用户在任何地方进行数据库管理。目录1.SQLynx2.phpMyAdmin3.Adminer4.DBeaver5结论以下是几款推荐的Web数据库管理工具,每款工具都有其独特的特......
  • [ABC311G] One More Grid Task
    [ABC311G]OneMoreGridTask题目信息题面翻译给你一个\(n\timesm\)的矩阵\(a\),求:\[\max_{1\leql_1\leqr_1\leqn,1\leql_2\leqr_2\leqm}(\sum_{l_1\leqi\leqr_1,l_2\leqj\leqr_2}a_{i,j}\times\min_{l_1\leqi\leqr_1,l_2\leqj\leqr_2}a_{i......
  • [ToneTuneToolkit][023]UGUI的去色,使UI元素变为灰色
    #regionEnvironmentWindows1022H2Unity2022.3.30f1LTSVSCode1.90.0//ToneTuneToolkit下载地址// https://github.com/MirzkisD1Ex0/ToneTuneToolkit.git#endregion 把UGUI的元素去色!变成灰色!!!超级方便!//该项功能已包含至ToneTuneToolkit插件  01.新建场景,新建......
  • 《DX12龙书》-第一个例程出现的报错:error: 应用程序请求的操作依赖于已缺失或不匹配的
    《DX12龙书》|《Introductionto3DGameProgrammingwithDirectX12》|《DirectX123D游戏开发实践》个人电脑环境Window11;VisualStudio2022出现问题主要原因:书中代码的环境是:Windows10;VS2015,在不同环境上运行难免会出现一些错误。问题一:C2102&要求左值错......