Я хочу сделать запрос Json Post с моим Windows Universal App. У меня он работает в моих Android и IOS.Windows-Universal https Post Xamarin Forms
public String DoServiceCall()
{
var request = (HttpWebRequest)WebRequest.Create(string.Format("{2}/{0}/{0}ServiceJson.svc/{1}", "Authentication", "Authenticate", "https://....."));
using (MemoryStream ms = new MemoryStream())
{
// create the request object
string requestString = JSONRequest;
byte[] requestData = Encoding.UTF8.GetBytes(requestString);
request.Method = "POST";
request.ContentType = "application/json; charset=UTF-8";
request.ContentLength = requestData.Length;
request.AllowAutoRedirect = false;
// add known cookies to request (needed for authentication)
CookieContainer requestCookies = new CookieContainer();
foreach (Cookie knownCookie in this._cookieCollection)
{
requestCookies.Add(knownCookie);
}
request.CookieContainer = requestCookies;
//For getting rid of the https Problem
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
using (Stream stream = request.GetRequestStream())
{
stream.Write(requestData, 0, requestData.Length);
}
// get response data
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
return (responseString);
}
}
Проблема в том, что Windows Universal не поддерживает.
request.ContentLength = requestData.Length;
request.AllowAutoRedirect = false;
requestCookies.Add(knownCookie); //with only one Argument
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
Он также не поддерживает.
request.GetRequestStream())
(HttpWebResponse) request.GetResponse();
Но что я мог установить с асинхронным
await request.GetRequestStreamAsync())
(HttpWebResponse)await request.GetResponseAsync();
Но без этого 4 линии я couldn't заставить его работать на Windows. Я просто не получаю ответа. Есть ли возможность заставить его работать в Windows 10 или есть рабочая альтернатива.
Попробуйте [это] (http://stackoverflow.com/a/35273153/3956290) ответ. –
Пробовал, все еще не получил ответа. Я думаю, что это может быть проблема с пользовательским SSL Zertifikat. – Olias
Вы этого не сделали, проверьте класс HttpClient, он делает все, что вам нужно. –