UnityWebRequest 의 SetRequestHeader를 이용해 Cookie 값을 넣어 세션 유지 기능을 처리하는 중 생긴 문제
테스트 기기
Windows10
LG G7
Galaxy S6
- Unity 5.6.2 버전에서 사용할 당시 PC와 Android 플랫폼에서 요청할 때 매번 SetRequestHeader에 쿠키값을 포함하여 요청
- Unity 2017.4.3 버전과 2018.2.21 버전에서 Android 플랫폼에서 요청할 때 매번 SetRequestHeader에 쿠키값을 포함하면 문제 발생 ( 404 Error )
문제 해결 방법
- 문제가 되는 Unity 버전에서는 Android 플랫폼으로 빌드할 때 요청시 SetRequestHeader에 쿠키값을 포함하지 않은 상태로 수정하여 빌드
예제 코드
WaitForEndOfFrame waitForEndOfFrame = new WaitForEndOfFrame();
UnityWebRequest unityWebRequest = UnityWebRequest.Get("URL_OR_URI");
#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_5 || UNITY_2017_1_0
unityWebRequest.SetRequestHeader("Cookie", "COOKIE_VALUE");
#else
#if UNITY_5 || UNITY_2017_1
AsyncOperation asyncOperation = unityWebRequest .Send();
while(!asyncOperation.isDone)
{
yield return waitForEndOfFrame;
}
#else
UnityWebRequestAsyncOperation unityWebRequestAsyncOperation = unityWebRequest.SendWebRequest();
while(!unityWebRequestAsyncOperation.isDone)
{
yield return waitForEndOfFrame;
}
#endif
UnityWebRequest Redirect 시 Cookie가 전송되지 않아서 생기는 문제
UnityWebRequest 관련 처리가 변경된 Unity 버전: 2017.1.1 ( 2017.1.0p5 추가 )
참고
https://unity3d.com/kr/unity/whats-new/unity-2017.1.1
- Networking: UnityWebRequest: Fixed an issues where cookies were not sent on redirect. - (832192)
'Unity Engine' 카테고리의 다른 글
UGUI Text Typing 스크립트 (Rich Text 중첩 지원) (0) | 2020.02.21 |
---|---|
C# 람다(Lambda) : Button onClick을 반복문에서 동적 할당 시 지역 변수 참조 문제 (0) | 2019.10.10 |
UnityWebRequest: Delete Request DownloadHandler NULL (0) | 2019.08.07 |
Unity Android Build: AndroidManifest Multiple 시 OBB파일을 불러오지 못하는 문제 (0) | 2019.06.27 |
코루틴 (Coroutine): WaitForSecondsRealtime을 변수로 할당하여 사용했을 때의 문제점 (0) | 2019.05.02 |