.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,简单做了一个天气预报的功能,虽然界面丑的厉害,但功能算是实现了,以下是效果展示. 这东西没什么难点,只是天气预报的功 ...
随机推荐
- C#与SAP系统的接口调用
Sap作为ERP的龙头企业,在企业信息化建设中是有目共睹的,特别是财务.人力.物流等发挥着极大作用,占领着半壁江山,所以与企业系统用SAP软件的接口对接很是普遍,简单介绍一下与SAP接口的一点点儿心得 ...
- Qt窗口退出与事件循环退出的问题
我在Qt主程序中开启一个线程,线程中使用信号-槽来产生QMainWindow(GUI),main函数代码如下:int main(int argc, char *argv[]){ QApplicatio ...
- linux系统管理-输入输出
目录 linux系统管理-输入输出 参数传递xargs linux系统管理-输入输出 重定向 将原本要输出到屏幕上的数据信息,重新定向到指定的文件中 运行程序,或者输入一个命令:默认打开4个文件描述符 ...
- 用python绘画一些简单图片
python画笑脸 程序源代码 import turtle #画脸 t = turtle.Pen() t.speed(15) #t.circle(150) #t.color('orange') t.f ...
- 『007』MySQL
『005』索引-Database MySQL [001]- 点我快速打开文章[第一章 MySQL 大纲介绍] [002]- 点我快速打开文章[第二章 MySQL 介绍和安装] 更新中
- Linux命令: cat
-s 连续多个空行显示为一个空行. -n 给每一行前显示行号. -b 只给非空行前显示行号. -E 在每行后显示一个$ cat f - g 把文件f的内容.STDIN.文件g的内容连接起来 .
- Jmeter-Question之“HTTPS请求”
前面在Jmeter-Question中有提到若干问题,有时间呢,我也会进行继续编写随笔,梳理自己的知识,本篇呢,便来记Jmeter发送https请求的过程 内容大致与http://blog.csdn. ...
- SOA案例分析浅谈
SOA是英文 Service-Oriented Architecture 三个首字母单词的缩写,中文译为: 面向服务架构 ( SOA), SOA架构与 B/S . C/S 架构是目前最流行三种 Web ...
- 和神仙ob的对话
- Linux添加组播
sudo route add -net 224.1.1.0 netmask 255.255.255.0 dev ens33