.net post请求webservice
class Program
{
static void Main(string[] args)
{
var m = "m=" + JsonConvert.SerializeObject(new { age = , name = "jxp" });
var a = HttpHelper.PostRequest("http://localhost:7132/Jxp.asmx/HelloWorld", DataTypeEnum.Form, m);
var xmldoc = new XmlDocument();
xmldoc.LoadXml(a);
var nsMgr = new XmlNamespaceManager(xmldoc.NameTable); nsMgr.AddNamespace("ns", "http://tempuri.org/");
XmlNode errorNode = xmldoc.SelectSingleNode("/ns:string", nsMgr);
var b = JsonConvert.DeserializeObject(errorNode.InnerText);
Console.WriteLine(b);
Console.ReadKey();
}
}
控制台调用
[WebMethod]
public string HelloWorld(string m)
{
return m;
}
webservice服务
public class HttpHelper
{
/// <summary>
/// Post带参请求
/// </summary>
/// <param name="url"></param>
/// <param name="contentType">指定参数类型</param>
/// <param name="strData"></param>
/// <param name="dicHeader"></param>
/// <returns></returns>
public static string PostRequest(string url, DataTypeEnum contentType, string strData, Dictionary<string, string> dicHeader = null)
{
string result;
var webRequest = WebRequest.Create(url);
if (dicHeader != null)
foreach (var m in dicHeader)
{
webRequest.Headers.Add(m.Key, m.Value);
}
webRequest.Method = MethodTypeEnum.Post.ToString();
webRequest.Proxy = null;
if (contentType == DataTypeEnum.Form)
{
webRequest.ContentType = "application/x-www-form-urlencoded";
}
else
{
webRequest.ContentType = "application/" + contentType;
} byte[] reqBodyBytes = System.Text.Encoding.UTF8.GetBytes(strData);
Stream reqStream = webRequest.GetRequestStream();//加入需要发送的参数
reqStream.Write(reqBodyBytes, , reqBodyBytes.Length);
reqStream.Close();
using (var reader = new StreamReader(webRequest.GetResponse().GetResponseStream()))
{
result = reader.ReadToEnd();
}
return result;
} /// <summary>
/// Get不带参请求
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string GetRequest(string url)
{
string result;
WebRequest webRequest = WebRequest.Create(url);
webRequest.Method = MethodTypeEnum.Get.ToString();
webRequest.Proxy = null;
using (var reader = new StreamReader(webRequest.GetResponse().GetResponseStream()))
{
result = reader.ReadToEnd();
}
return result;
}
} /// <summary>
/// 带参数据类型
/// </summary>
public enum DataTypeEnum
{
Json,
Xml,
Form
} /// <summary>
/// 带参数据类型
/// </summary>
public enum MethodTypeEnum
{
Get,
Post
}
请求帮助类
返回json
.net post请求webservice的更多相关文章
- jquery+ajax跨域请求webservice
最近几天在学习webservice...在学习的时候便想到用ajax的方式去请求webservice.. 一直在测试..如果这个被请求的webservice和自己使用的是同一个端口号.则不用考虑那aj ...
- Node.js 使用 soap 模块请求 WebService 服务接口
项目开发中需要请求webservice服务,前端主要使用node.js 作为运行环境,因此可以使用soap进行请求. 使用SOAP请求webservice服务的流程如下: 1.进入项目目录,安装 so ...
- JQuery请求WebService返回数据的几种处理方式
打开自己的博客仔细浏览了一番,发现已经好久没有写博客了,由于最近一直比较忙碌懈怠了好多.默默反省三分钟.......言归正传,现在就对最近在学习webservice的过程中遇到的几种类型的问题中我的理 ...
- ajax请求webservice时抛出终止线程的异常
请求webservice中以下接口,会抛出异常 {"Message":"正在中止线程.","StackTrace":" 在 Sys ...
- webserive学习记录6-页面请求webservice
前面都是通过JAVA代码访问webservice服务,下面将介绍通过javascript,jquery访问webservice服务并介绍过过servlet解决跨域问题的方法. 服务端 编写服务代码,解 ...
- 通过HttpClient请求webService
通过HttpClient请求webService 由于服务端是用webService开发的,android要调用webService服务获取数据,这里采用的是通过HttpClient发送post请求, ...
- Kettle通过Http post请求webservice接口以及结果解析处理
kettle中有两种方式请求webservice服务,一个是Web服务查询,但是这个有缺陷,无法处理复杂的需求,遇到这种情况就需要用Http post来处理了. 网上也有很多关于Http post请求 ...
- ajax请求webservice的过程中遇到的问题总结
前台用ajax的post方法,无法请求到webservice中的方法的时候,需要在配置文件中添加 web.config文件中的 <system.web> 节点下加入:<webServ ...
- AJAX请求WebService
1.WebService代码 [WebMethod] [ScriptMethod(UseHttpGet = false)] public string GetObject() { User user ...
- .net请求Webservice简单实现天气预报功能
很久没有接触Webservice的知识,今天稍微复习了一下关于webservice,简单做了一个天气预报的功能,虽然界面丑的厉害,但功能算是实现了,以下是效果展示. 这东西没什么难点,只是天气预报的功 ...
随机推荐
- tinyriscv---一个从零开始写的极简、易懂的开源RISC-V处理器核
本项目实现的是一个微riscv处理器核(tinyriscv),用verilog语言编写,只求以最简单.最通俗易懂的方式实现riscv指令的功能,因此没有特意去对代码做任何的优化,因此你会看到里面写的代 ...
- ASP.Net MVC 路由及路由调试工具RouteDebug
一.路由规则 1.可以创建多条路由规则,每条路由的name属性不相同 2.路由规则有优先级,最上面的路由规则优先级越高 App_Start文件下的:RouteConfig.cs public stat ...
- 【面试突击】-RabbitMQ常见面试题(三)
1.什么是RabbitMQ?为什么使用RabbitMQ? 答:RabbitMQ是一款开源的,Erlang编写的,基于AMQP协议的,消息中间件: 可以用它来:解耦.异步.削峰. 2.RabbitMQ有 ...
- Linux(ubuntu) 三行代码搞定安装谷歌浏览器
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 然后再输入: sudo dpkg -i g ...
- 【微信小程序】e.currentTarget和e.target
什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id ...
- laravel Error 笔记
一.有关CSRF验证 1.网址访问POST请求,如 127.0.0.1:81/delUser?id=1 网页请求是默认是GET请求方式,看返回的数据信息就知道,数据是以GET方式发送的,所以若路由中 ...
- Html学习之四(页面布局)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 关于appium的简单理解
搭建好appium环境后,要学会定位app页面上的元素.下面是2款元素定位工具 uiautomatorviewer -- Android SDK自带的元素定位工具,由Google开发的 Inspe ...
- Ubuntu环境下打开Firefox报错: Firefox is already running, but is not responding.
在ubuntu下启动firefox可能会报错 Firefox is already running, but is not responding. To open a new window, you ...
- 用一个例子说明oracle临时表,创建过程,
--创建临时表,规定好格式,是必须的,不同于sqlserver那么随意: Create Global Temporary Table record4 ( yljgdm VARCHAR2(22) n ...