台灣最大程式設計社群網站
線上人數
1242
 
會員總數:246141
討論主題:189725
歡迎您免費加入會員
討論區列表 >> ASP.NET >> Web Api POST差別fromurl frombody
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Web Api POST差別fromurl frombody
價值 : 10 QP  點閱數:1897 回應數:0
樓主

Wind
門外漢
0 89
1172 146
發送站內信

我有一個問題,我覺得很奇怪,

string targetUrl = "http://127.0.0.1/api/test";
string parame = "a=test";
byte[] pd = Encoding.UTF8.GetBytes(parame);
HttpWebRequest request = HttpWebRequest.Create(targetUrl) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 30000;
request.ContentLength = pd.Length;

using (Stream st = request.GetRequestStream())
{
st.Write(pd, 0, pd.Length);
}
string result = "";

using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
result = sr.ReadToEnd();
}
}

-----------web api ----------
public HttpResponseMessage PostSimple([FromBody] string value)
{
response.write("OK");
}


--------------問題----------------
application/x-www-form-urlencoded 這個,不是最後還是會組成url的形式傳送嗎?
那為什麼在api中fromurl可以接到值,frombody就不行呢?
而在fromurl要設定成
string targetUrl = "http://127.0.0.1/api/test";
string parame = "a=test";
byte[] pd = Encoding.UTF8.GetBytes(parame);
HttpWebRequest request = HttpWebRequest.Create(targetUrl + "?" +parame) as HttpWebRequest;
request.Method = "POST";
用fromurl在api可以接到

那若用httpwebrequest在api要用frombody接的話,要怎麼設定呢?
我用一開始的方式,也接不到,但用html頁面去post就可以,請問是差在哪裡?



搜尋相關Tags的文章: [ web api post ] ,
本篇文章發表於2014-07-20 11:52
目前尚無任何回覆
   

回覆
如要回應,請先登入.