C# 通过代理使用UnityWebRequest的REST连接

C# 通过代理使用UnityWebRequest的REST连接,c#,unity3d,proxy,C#,Unity3d,Proxy,我正在尝试使用UnityWebRequest通过代理向服务器发出REST请求。我试着用 Network.useProxy = true; 但这失败了,因为出现了错误 Cannot connect to destination host Network.useProxy已在Unity 2018.2.12中删除。我可以通过邮递员和卷发联系。有人能确认UnityWebRequest不支持通过代理进行连接吗?即使它没有被弃用,它也不会工作,因为Unity的网络。useProxy用于传统的网络系统,而

我正在尝试使用UnityWebRequest通过代理向服务器发出REST请求。我试着用

Network.useProxy = true;
但这失败了,因为出现了错误

Cannot connect to destination host

Network.useProxy
已在Unity 2018.2.12中删除。我可以通过邮递员和卷发联系。有人能确认UnityWebRequest不支持通过代理进行连接吗?

即使它没有被弃用,它也不会工作,因为Unity的
网络。useProxy
用于传统的网络系统,而
UnityWebRequest
API不是其中的一部分

不支持带有
UnityWebRequest
的代理,也不打算在Unity上添加对该代理的支持。投票支持它

您唯一的解决方法是使用一种标准的C#web请求API,如
HttpWebRequest
WebClient
。他们得到了团结一致的支持。使用
HttpWebRequest
,您可以按如下方式使用代理:

string proxyHost = "192.168.1.3";
int proxyPort = 8080;
string url = "http://YourUrl.com/blah";

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Proxy = new WebProxy(proxyHost, proxyPort);

由于这不是UnityWebRequest,您必须在另一个
线程
中执行此操作,以防止阻塞游戏主线程。

谢谢@Programmer-您知道C#web请求是否可以跨Unity目标平台工作吗?是的,它支持所有请求,WebGL平台除外。WebGL平台不支持
System.Net
命名空间中的任何内容,但如果它不是您的目标平台,则不应出现问题。请参阅以了解它们之间的其他差异。