我在使用REST服務時遇到了一些問題,並想找出我在實現中缺少的內容。Consuming REST Service pb
https://<server-name-or-address>/api/sessions
如果我叫使用捲曲這個REST API,它通過下面的腳本
curl -i -k -H "Accept:application/*+xml;version=1.5" -u username:password -X POST https://<server-name-or-address>/api/sessions
但是工作得很好,它不與C#asp.net工作在所有。我不確定我在這裏錯過了什麼。這裏是我的嘗試:
1)調用上述聲明 基礎連接已關閉使用HTTP的Web請求
Uri address = new Uri(url);
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.Method = "POST";
request.Accept = "application/*+xml;version=1.5";
request.Credentials = new NetworkCredential(username,password);
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
//以下異常火災:無法爲SSL信任關係/ TLS安全通道。
2)使用Hammock.net
Hammock.RestClient client = new Hammock.RestClient();
string encodedAPIKey = Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}", username, password)));
client.AddHeader("Accept", "application/*+xml;version=1.5");
client.AddHeader("Authorization", "Basic " + username + ":" + password);
client.Authority = url;
Hammock.RestRequest req = new Hammock.RestRequest();
req.Path = url;
Hammock.RestResponse response = client.Request(req);
string _result = client.Request(req).Content; // exception
3)使用RestSharp
string _loginInfo = Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}", username, password)));
RestSharp.RestClient client = new RestSharp.RestClient();
client.AddDefaultHeader("Accept", "application/*+xml;version=1.5");
client.AddDefaultHeader("Authorization", "Basic " + _loginInfo);
client.BaseUrl = url;
RestSharp.RestRequest request = new RestSharp.RestRequest();
request.AddUrlSegment("method", "POST");
request.AddUrlSegment("uri", url);
string result = client.Execute(request).Content;
我也有HttpClient的,WebRequest的嘗試,Web客戶端雖然看上去沒有什麼工作。
任何錯誤信息傳遞迴給你? –
Hammock和RestSharp沒有反應 – Ali
'HttpStageProcessingException被用戶代碼解除'是Http Web請求的異常 – Ali