2016-07-28 40 views
2

Ich versuche, eine HTTP zu tun Anforderung von Unity löschen und stoßen in die Idee der Nutzung der Httprequest KlasseVerwenden .NET eigene Httpclient-Klasse auf Unity

im Namespace System.Web von .NET enthalten Wie kann ich Um dies zu erreichen, muss ich meinen, dass irgendeine Art von Import dieses Namespace durchgeführt werden muss, aber wie?

Hoffnung jemand mir ist eine Orientierung geben kann

+0

Mögliche Duplikate von [Unity3D - kann ich die .NET 4.5-Assembly als externe Bibliothek verwenden?] (Http://stackoverflow.com/questions/20703689/unity3d-cani-i-use-net-4-5-assembly- as-external-library) –

+0

'HttpRequest' ist nur in .NET 4.5 verfügbar, aber wenn Sie dies mit den .NET-Bibliotheken machen wollten, ist' HttpWebRequest' seit .NET 1.1 verfügbar und kann tun, was Sie wollen. Ich habe nicht versucht, es von Unity zu verwenden, aber ich sehe nicht, warum es nicht funktionieren würde. – Octopoid

Antwort

4

HttpClient nur in 4,5 NET und oben und Unity verwendet nicht diese Version. Unity verwendet etwa 3.5 .NET-Version.

Wenn Sie Unity 5.3 verwenden, können Sie mit UnityWebRequest.Delete eine Löschanforderung erstellen. Es kann im Namespace Experimental.Networking gefunden werden. Wenn Sie Unity 5.4 und höher verwenden, finden Sie UnityWebRequest im Namespace UnityEngine.Networking;.

Vollarbeitsbeispiel:

IEnumerator makeRequest(string url) 
{ 
    UnityWebRequest delReq = UnityWebRequest.Delete(url); 
    yield return delReq.Send(); 

    if (delReq.isError) 
    { 
     Debug.Log("Error: " + delReq.error); 
    } 
    else 
    { 
     Debug.Log("Received " + delReq.downloadHandler.text); 
    } 
} 

zu nennen: StartCoroutine(makeRequest("http://www.example.com/whatever"));

Stellen Sie sicher, using Experimental.Networking oder using UnityEngine.Networking je nach Unity Version aufzunehmen.


EDIT:

Unity unterstützt jetzt .NET 4.5, so können Sie jetzt Httpclient, wenn Sie es wünschen. Siehe this Beitrag für wie Sie es aktivieren.

+0

Hi @Programmer Ihre Antwort ist genau das, was mein Ansatz anvisiert, ich habe ein paar Pfeile gedreht, aber bis zu diesem Punkt, nicht weniger, nachdem ich Ihren Code zur Arbeit gebracht habe, bekomme ich nach dem Senden einen 401L Fehlercode auf delReq Nicht autorisierter Fehler? Mit der WWW-Klasse gebe ich ein Wörterbuch mit Autorisierungsheadern zur Anmeldung, wie erreiche ich das hier? – ASPuma

+0

@ASPuma Sie verwenden 'delReq.SetRequestHeader (" Ihr Header "," Ihr Wert ");'. Lass mich wissen, ob das dein Problem löst. – Programmer

+0

Das ist alles, was es braucht @Programmer einige auth, danke für all Ihre Hilfe, meine Achtung! – ASPuma