C#调用 webapi接口 利用HTTP头验证的问题

问题描述

请求地址:http://192.168.0.124/testwebapi/api/AddUser请求方式:Post验证方式:用户名密码等信息放在HttpHeader提交.Account=用户名pwd=密码rid=3参数示例:{"id":"123","name":"张建"}参数说明:字段参数类型参数说明参数范围说明idstring编号namestring名称____________________________________________怎么调用这个webAPI接口??

解决方案

解决方案二:
$("#button").click(function(){$.ajax({type:"POST",url:"http://192.168.0.124/testwebapi/api/AddUser",beforeSend:function(request){request.setRequestHeader("ID","123");request.setRequestHeader("name","张建");},success:function(result){alert(result);}});});

解决方案三:
忘记说了。不通过JS形式。不过上午已经解决了HttpClientclient=newHttpClient();client.DefaultRequestHeaders.Add("Account","aaa");client.DefaultRequestHeaders.Add("pwd","bbb");client.DefaultRequestHeaders.Add("rid","1");HttpResponseMessageresponse=client.PostAsJsonAsync<Customer>(url,book).Result;这种方式。不过现在还有个问题。就是通过这种方式。。不知道怎么能拿到返回值,返回值是一个json格式的数据
解决方案四:
引用2楼sgear的回复:

忘记说了。不通过JS形式。不过上午已经解决了HttpClientclient=newHttpClient();client.DefaultRequestHeaders.Add("Account","aaa");client.DefaultRequestHeaders.Add("pwd","bbb");client.DefaultRequestHeaders.Add("rid","1");HttpResponseMessageresponse=client.PostAsJsonAsync<Customer>(url,book).Result;这种方式。不过现在还有个问题。就是通过这种方式。。不知道怎么能拿到返回值,返回值是一个json格式的数据

你都有HttpResponseMessage,什么都能搞出来,stringjson=response.Content.ReadAsStringAsync().Result;

解决方案五:
我一般习惯于使用HttpWebRequest,可以这样publicvirtualHttpWebRequestCreateWebRequest(stringuri,NameValueCollectioncollHeader,stringRequestMethod,boolNwCred){HttpWebRequestwebrequest=(HttpWebRequest)WebRequest.Create(uri);webrequest.KeepAlive=false;webrequest.Method=RequestMethod;intiCount=collHeader.Count;stringkey;stringkeyvalue;for(inti=0;i<iCount;i++){key=collHeader.Keys[i];keyvalue=collHeader[i];webrequest.Headers.Add(key,keyvalue);}webrequest.ContentType="text/html";//"application/x-www-form-urlencoded";if(ProxyServer.Length>0){webrequest.Proxy=newWebProxy(ProxyServer,ProxyPort);}webrequest.AllowAutoRedirect=false;if(NwCred){CredentialCachewrCache=newCredentialCache();wrCache.Add(newUri(uri),"Basic",newNetworkCredential(UserName,UserPwd));webrequest.Credentials=wrCache;}//RemovecollectionelementscollHeader.Clear();returnwebrequest;}//EndofsecureCreateWebRequest代码来自HowtouseHttpWebRequestandHttpWebResponsein.NET
解决方案六:
HttpResponseMessageresponse=client.PostAsJsonAsync<Customer>(url,book).Result;谁能解释一下这里的book是什么?还有为什么我的client没有PostAsJsonAsync这玩意?

时间: 2024-10-01 09:14:34

C#调用 webapi接口 利用HTTP头验证的问题的相关文章

c# 调用webapi 接口

问题描述 webapi接口返回一个字符串在一个c#mvc的Controller中调用这个接口获得到接口返回的字符串怎么调用?望看到的朋友帮帮忙! 解决方案 解决方案二:有直接写到后台调用webapi的方法.你既然是mvc,为何不直接前台通过ajax来访问呢?解决方案三:后台来调用,这奇葩.....解决方案四:引用1楼hanjun0612的回复: 有直接写到后台调用webapi的方法.你既然是mvc,为何不直接前台通过ajax来访问呢? 我要是用ajax访问的话在Controller中还要调用js

webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆!

问题描述 webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆! webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆! 解决方案 不明白,可以说的明白点么 解决方案二: 就是用户在每次访问接口的时候要在接口中验证是否登陆过,登陆过就可以访问,没有登录就返回没有登录的信息! 解决方案三: 通过session ID等作为参数 解决方案四: 谁有设计思路啊,完全不知道怎么处理了! 解决方案五: 用wenbservice,不是有sessioniD吗?

Java 调用底层接口的几种方法

Java 调用底层接口 Java 调用底层接口要通过动态链接库进行,在windows下是dll文件,linux是so文件 Java调用动态库所需要关心的问题:     如何装载文件,以及如何定位所要使用的方法:      数据类型是如何对应的:     如何给使用的方法传递参数:     如何获取返回的值. 目前调用底层接口用的比较多的技术包括jni.jna.jnative.Nativecall等 JNI 封装本地接口 JAVA可以通过JNI接口访问本地的动态连接库,从而扩展JAVA的功能.使用

soap-ios 调用webserver 接口 Soap

问题描述 ios 调用webserver 接口 Soap 88C 急求大神解救具体我小白也说不明白 wsdl Soaphttp://123.56.162.121:8080/factoryManager/ReqWebServiceImplPort?wsdl(谷歌浏览器) 接口名称: checkPassword接口用途: 用户登录输入项 数据类型 意义arg0 用户名 参数类型Stringarg1 密码 参数类型String 返回值:key value 说明resultcode 状态码 200正常.

php利用P3P头实现跨域设置cookie

在开发中,我们碰到的跨域主要还是纠结在IE,页面中的IFRAME或者FRAME或者JS跨域的时候,IE有安全策略限制页面不带cookie,但是如果我们加上P3P,就没有这策略的限制.这也是P3P来突破跨域的可行前提,其实在firefox chorme类浏览器里面是没有这个限制的. 首先我们了解一下P3P是什么? P3P(Platform for Privacy Preferences)是W3C公布的一项隐私保护推荐标准,以为用户提供隐私保护. P3P标准的构想是:Web 站点的隐私策略应该告之访

微信支付 获取预支付ID时 调用官方接口返回为NULL

问题描述 微信支付 获取预支付ID时 调用官方接口返回为NULL 解决方案 没有注册微信支付接口,所以是null.找腾讯注册. 解决方案二: 官方例子是官方例子,微信支付接口是要注册的,人家靠这个盈利.官方例子不一定非要写上具体的ID.有效的ID是一串数字. 具体含义,该网站有相应的标准文本PDF(要积分的).unifiedorder含义是唯一码,具体使用是一串数字.申请注册后就会得到. 微信支付涉及金融,是要经过银行的.该标准是银行发布的.制定者由银行.支付宝.微信支付等不同人员参与.通过后,

调用DirectDraw接口和调DirectDraw7接口的不同点对比

调用DirectDraw接口步骤: 1.       包含链接库ddraw.lib 2.       初始化窗口类型(全屏独占时类型用popup). 3.       在初始化窗口后初始化DirectDraw(使用函数DirectDrawCreate) 4.       创建DirectDraw实例指针lpDD. 5.       lpDD->SetCooperativeLevel设置显示全屏独占还是窗体. 6.        lpDD->SetDisplayMode(640,480,8)设置

soap-C++调用webservice接口出错,具体如图所示,请大神帮忙~~

问题描述 C++调用webservice接口出错,具体如图所示,请大神帮忙~~ 我已经安装了soap toolkit 3.0 不知道为什么还不行~ 报错如下: ------ 已启动生成: 项目: myclient, 配置: Debug Win32 ------ 1>生成启动时间为 2016/1/6 19:01:21. 1>InitializeBuildStatus: 1> 正在对"Debugmyclient.unsuccessfulbuild"执行 Touch 任务.

VS2010调用matlab生成的dll, 头文件里面只有对C_API,没有对CPP_API的声明?

问题描述 VS2010调用matlab生成的dll, 头文件里面只有对C_API,没有对CPP_API的声明? 想要的是这种声明:extern LIB_mysvd_CPP_API void MW_CALL_CONV mysvd(int nargout, mwArray& s, mwArray& v, mwArray& d, const mwArray& a); 编译出来的是这种声明:extern LIB_mysvd_C_API void MW_CALL_CONV mlfMy