问题描述
请求地址: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这玩意?