我正在开发一个Xamarin跨平台项目,我必须从http
更改为https
。
由于应用程序在移动铁环境中运行,我必须使用NSUrlConnection
。
现在,当我尝试在iOS上使用以下代码(使用http
)时,我在标题中收到错误。
Console.WriteLine("RequestClass not null");
String xmlSerialized= SerializeXML<cRequestClass>(reQuestClass);
byte[] Content = Encoding.UTF8.GetBytes(xmlSerialized);
Console.WriteLine("Class Converted");
var request = new NSMutableUrlRequest(NSUrl.FromString(@WebserverURL), NSUrlRequestCachePolicy.ReloadIgnoringCacheData, 40);
request.HttpMethod = "POST";
request.ShouldHandleCookies = true;
request.Body = NSData.FromArray(Content);
Console.WriteLine("Start Connecting");
Task<NSUrlAsyncResult> result = NSUrlConnection.SendRequestAsync(request, OpsQueue);
Console.WriteLine("Result Received Async");
NSData data = result.Result.Data;
Console.WriteLine("Data transformed");
ReturnValue = data.ToString();
Console.WriteLine(ReturnValue);
仅出于开发目的,我尝试向info.plist
添加新密钥,但没有任何结果。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
我一直在研究它一个星期,只发现了一些带有一些代表信息的java片段 - willSendRequestForAuthenticationChallenge
,我无法成功实现。