Я создал приложения для Unity 5 и Unity 2017 и могу использовать Fiddler или Charles для успешного захвата сетевого трафика c. Однако, когда я создаю приложение Unity 2018 с использованием IL2 CPP (другие приложения были созданы с. Net), приложение работает (успешно отправляет сетевой трафик c), но приложение, похоже, каким-то образом обходит Fiddler ( или Чарльз) прокси. Таким образом, Фиддлер и Чарльз не могут показать сетевой трафик c из приложения Unity 2018 IL2 CPP, хотя он может отображать трафик c из приложений Unity 5 и Unity 2017.
Обратите внимание, что все работает с Unity 5 и Unity 2017, и что в настройках SSL и т. Д. c. были настроены ранее. Кроме того, я использовал Fiddler "WinConfig" для EnableLoopback для приложения Unity 2018.
Мой вопрос: что мне нужно сделать, чтобы приложение Unity 2018 IL2 CPP показывало traffi c в Fiddler или Charles?
Обновление: Вот пример кода, который показывает, что запросы HttpClient не go через прокси, но другие (Unity) веб-запросы делают go через прокси:
public class RequestTest : MonoBehaviour
{
public UnityEngine.UI.Text text;
void Update()
{
if (Input.GetKeyUp(KeyCode.P))
{
StartCoroutine(yieldPing());
}
if (Input.GetKeyUp(KeyCode.O))
{
asyncPing();
}
}
private IEnumerator yieldPing()
{
Debug.Log("This request shows up in Fiddler");
text.text = "UWR in Coroutine";
using (UnityWebRequest uwr = UnityWebRequest.Get("https://www.google.com/"))
{
yield return uwr.SendWebRequest();
}
}
private async void asyncPing()
{
await awaitPing();
}
private async System.Threading.Tasks.Task<bool> awaitPing()
{
Debug.Log("This request also shows up in Fiddler");
UnityWebRequest uwr = UnityWebRequest.Get("https://www.google.com/");
text.text = "UWR in async await";
uwr.SendWebRequest().completed += delegate
{
uwr.Dispose();
};
Debug.Log("This request does NOT show up in Fiddler???");
text.text += "\nHttpClient in async await";
using (System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient())
{
using (System.Net.Http.HttpRequestMessage httpRequest = new System.Net.Http.HttpRequestMessage())
{
httpRequest.RequestUri = new System.Uri("http://www.youtube.com/");
httpRequest.Method = System.Net.Http.HttpMethod.Get;
using (System.Net.Http.HttpResponseMessage httpResponse = await httpClient.SendAsync(httpRequest, System.Net.Http.HttpCompletionOption.ResponseHeadersRead))
{
var responseCode = (int)httpResponse.StatusCode;
// We will get a 304 if the content has not been modified
// If there is new, good content, then we will get a 200
return (responseCode == 200);
}
}
}
}
}
Вот настройки Unity Player: ![Here are the Unity Player Settings](https://i.stack.imgur.com/i3n1a.png)