![](/img/trans.png)
[英]how to call web api to download document to website directory using webclient
[英]How to send multiple parameters to a Web API call using WebClient
我想通過POST請求將兩個參數發送到Web API服務。 當我以下列方式嘗試時(例如來自msdn) ,我目前收到404找不到的消息:
public static void PostString (string address)
{
string data = "param1 = 5 param2 = " + json;
string method = "POST";
WebClient client = new WebClient ();
string reply = client.UploadString (address, method, data);
Console.WriteLine (reply);
}
其中json
是對象的json表示形式。 這並沒有工作,我曾與查詢參數在嘗試這個帖子 ,但沒有找到相同404返回。
有人可以給我提供一個將兩個參數發送到POST請求的WebClient示例嗎?
注意:我試圖避免將兩個參數都包裝在同一個類中,以僅發送給服務(因為我在這里找到了建議)
我建議將您的參數作為NameValueCollection發送。
發送帶有NameValueCollection的參數時,您的代碼將如下所示:
using(WebClient client = new WebClient())
{
NameValueCollection requestParameters = new NameValueCollection();
requestParameters.Add("param1", "5");
requestParameters.Add("param2", json);
byte[] response = client.UploadValues("your url here", requestParameters);
string responseBody = Encoding.UTF8.GetString(response);
}
使用UploadValues將使您更輕松,因為該框架將構造請求的主體,並且您不必擔心串聯參數或轉義字符。
我設法通過在地址鏈接和json中將簡單參數作為正文數據發送來發送json對象和簡單值參數:
public static void PostString (string address)
{
string method = "POST";
WebClient client = new WebClient ();
string reply = client.UploadString (address + param1, method, json);
Console.WriteLine (reply);
}
地址需要包含value參數的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.