Unity 3D 中的 PUT/DELETE Http 方法

4
我正在考虑将一个JavaScript Web应用程序移植到C# Unity3D(免费/个人版本)中,用于我正在开发的RPG。我已经在PHP Laravel 5.1中构建了一个可扩展的独立API,我的游戏通过jQuery http调用与之交互。
我需要在Unity中继续进行标准的restful调用,例如getpostputdelete等,但是我只找到了UnityEngine.WWW#,它可以进行getpost操作。 这篇SO帖子分享了其他可用的Unity3D http方法,但没有一个能够实现所有restful调用。我再次提问,因为这是在2012年发布的,我没有找到任何更新的文档来满足这个需求。更新的文档也没有提供相关信息。

这里有最佳的HTTP基础库最佳的HTTP,售价分别为$45和$55,但我在想是否还有其他免费的选项。

我是否错过了Unity中允许标准的RESTful调用的功能?


你使用的是Unity专业版还是免费版? - Programmer
@程序员 免费/个人版 - user3871
1个回答

8
WebClientWebRequest在Unity中都可以使用,看起来它们只能与Pro Unity版本一起使用,就像System.Net命名空间中的其他API一样。我不知道这个限制在Unity 5中是否已经改变。它们支持你提问中提到的所有restful调用。
Unity在5.2版本中添加了一个名为UnityWebRequest的新API,并在5.3版本中支持移动平台。它旨在取代WWW,并支持你问题中列出的所有restful调用。以下是每个调用的示例,这不是完整的示例。你可以在上面提供的链接中找到完整的示例。
//Get
UnityWebRequest get = UnityWebRequest.Get("http://www.myserver.com/foo.txt");

//Post
UnityWebRequest post = UnityWebRequest.Post("http://www.myserver.com/foo.txt","Hello");

//Put
byte[] myData = System.Text.Encoding.UTF8.GetBytes("This is some test data");
UnityWebRequest put = UnityWebRequest.Put("http://www.my-server.com/upload", myData);

//Delete
UnityWebRequest delete = UnityWebRequest.Delete("http://www.myserver.com/foo.txt");

您可以在此处查看包括使用JSON发布的每个完整示例:这里

只是Unity 5的更新 - 这些都是免费功能,看起来在Unity 5.4+中得到了完全支持。我正在Unity 5.3中使用它们(被列为实验性),并且它们能够正常工作。 - hubatish
@hubatish UnityWebRequest是免费的,我没有说它需要专业版。WebClientWebRequest需要专业版,但在Unity 5中不再需要了。顺便说一下,在5.4中,UnityWebRequest不再是实验性的。你现在应该使用5.4版本。它修复了许多问题。 - Programmer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接