簡體   English   中英

C#代碼通過WebService傳遞JSON數據

[英]C# code to passing json data with WebService

response = requests.patch( "https://<manageraddress>/api/admin/configuration/v1/conference/1/", auth=('<user1>', '<password1>'), verify=False, data=json.dumps({'pin': '1234'}) https://tsmgr.tsecurevideo.com/api/admin/configuration/v1/conference/1/" 

我努力了

  HttpWebRequest httpWReq =(HttpWebRequest)WebRequest.Create(string.Format("https://tsmgr.tsecurevideo.com/api/admin/configuration/v1/conference/2/"));
   Encoding encoding = new UTF8Encoding();
   string postData = "{\"pin\":\"1234\"}";
   byte[] data = encoding.GetBytes(postData);

   httpWReq.ProtocolVersion = HttpVersion.Version11;
   httpWReq.Method = "POST";
   httpWReq.ContentType = "application/json";//charset=UTF-8";

   string credentials =   Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes("admin" + ":" + "password"));
   httpWReq.Headers.Add("Authorization", "Basic " + credentials);
   httpWReq.ContentLength = data.Length;


   Stream stream = httpWReq.GetRequestStream();
   stream.Write(data, 0, data.Length);
   stream.Close();

   HttpWebResponse response = (HttpWebResponse)httpWReq.GetResponse();
   string s = response.ToString();
   StreamReader reader = new StreamReader(response.GetResponseStream());

我收到錯誤

遠程服務器返回錯誤:(501)未實現。

嘗試以這種方式發送憑據

string auth = string.Format("{0}:{1}", "admin","password");
string data = Convert.ToBase64String(Encoding.ASCII.GetBytes(auth));
string credentials= string.Format("{0} {1}", "Basic", data );
httpWReq.Headers[HttpRequestHeader.Authorization] = credentials;

請參閱此處以獲取Encoding.ASCII中的文檔

根據HTTP規范

501未實施

服務器不支持滿足請求所需的功能。 當服務器無法識別請求方法並且不支持任何資源時,這是適當的響應。

聽起來好像服務器不支持PATCH方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM