private void InspectResponse(XUnityWebResponse response) { CookieCollection cookies = response.NewCookies; // FIXME: Is this needed? Should already be added _cookieContainer.Add(cookies); }
public async Task SetupTKK() { XUnityWebResponse response = null; _cookieContainer = new CookieContainer(); try { var client = new XUnityWebClient(); var request = CreateWebSiteRequest(); response = await client.SendAsync(request); } catch (Exception) { return; } // failure if (response.Error != null) { return; } // failure if (response.Data == null) { return; } InspectResponse(response); try { var html = response.Data; string[] lookups = new[] { "tkk:'", "TKK='" }; foreach (var lookup in lookups) { var index = html.IndexOf(lookup); if (index > -1) // simple string approach { var startIndex = index + lookup.Length; var endIndex = html.IndexOf("'", startIndex); var result = html.Substring(startIndex, endIndex - startIndex); var parts = result.Split('.'); if (parts.Length == 2) { m = long.Parse(parts[0]); s = long.Parse(parts[1]); break; } } } } catch (Exception) { // hard to warn... } }
private void InspectResponse(XUnityWebResponse response) { CookieCollection cookies = response.NewCookies; foreach (Cookie cookie in cookies) { // redirect cookie to correct domain cookie.Domain = ".googleapis.com"; } // FIXME: Is this needed? Should already be added _cookieContainer.Add(cookies); }
public IEnumerator SetupIGAndIID() { XUnityWebResponse response = null; _cookieContainer = new CookieContainer(); _translationCount = 0; try { var client = new XUnityWebClient(); var request = CreateWebSiteRequest(); response = client.Send(request); } catch (Exception e) { XuaLogger.Current.Warn(e, "An error occurred while setting up BingTranslate IG. Proceeding without..."); yield break; } var iterator = response.GetSupportedEnumerator(); while (iterator.MoveNext()) { yield return(iterator.Current); } if (response.IsTimedOut) { XuaLogger.Current.Warn("A timeout error occurred while setting up BingTranslate IG. Proceeding without..."); yield break; } // failure if (response.Error != null) { XuaLogger.Current.Warn(response.Error, "An error occurred while setting up BingTranslate IG. Proceeding without..."); yield break; } // failure if (response.Data == null) { XuaLogger.Current.Warn(null, "An error occurred while setting up BingTranslate IG. Proceeding without..."); yield break; } InspectResponse(response); try { var html = response.Data; _ig = Lookup("ig\":\"", html); _iid = Lookup(".init(\"/feedback/submission?\",\"", html); if (_ig == null || _iid == null) { XuaLogger.Current.Warn("An error occurred while setting up BingTranslate IG/IID. Proceeding without..."); } } catch (Exception e) { XuaLogger.Current.Warn(e, "An error occurred while setting up BingTranslate IG. Proceeding without..."); } }
public IEnumerator SetupTKK() { XUnityWebResponse response = null; _cookieContainer = new CookieContainer(); try { var client = new XUnityWebClient(); var request = CreateWebSiteRequest(); response = client.Send(request); } catch (Exception e) { XuaLogger.AutoTranslator.Warn(e, "An error occurred while setting up GoogleTranslate TKK. Using fallback TKK values instead."); yield break; } // wait for response completion var iterator = response.GetSupportedEnumerator(); while (iterator.MoveNext()) { yield return(iterator.Current); } if (response.IsTimedOut) { XuaLogger.AutoTranslator.Warn("A timeout error occurred while setting up GoogleTranslate TKK. Using fallback TKK values instead."); yield break; } // failure if (response.Error != null) { XuaLogger.AutoTranslator.Warn(response.Error, "An error occurred while setting up GoogleTranslate TKK. Using fallback TKK values instead."); yield break; } // failure if (response.Data == null) { XuaLogger.AutoTranslator.Warn(null, "An error occurred while setting up GoogleTranslate TKK. Using fallback TKK values instead."); yield break; } InspectResponse(response); try { var html = response.Data; bool found = false; string[] lookups = new[] { "tkk:'", "TKK='" }; foreach (var lookup in lookups) { var index = html.IndexOf(lookup); if (index > -1) // simple string approach { var startIndex = index + lookup.Length; var endIndex = html.IndexOf("'", startIndex); var result = html.Substring(startIndex, endIndex - startIndex); var parts = result.Split('.'); if (parts.Length == 2) { m = long.Parse(parts[0]); s = long.Parse(parts[1]); found = true; break; } } } if (!found) { XuaLogger.AutoTranslator.Warn("An error occurred while setting up GoogleTranslate TKK. Could not locate TKK value. Using fallback TKK values instead."); } } catch (Exception e) { XuaLogger.AutoTranslator.Warn(e, "An error occurred while setting up GoogleTranslate TKK. Using fallback TKK values instead."); } }
public IEnumerator SetupFSID() { XUnityWebResponse response = null; _cookieContainer = new CookieContainer(); try { var client = new XUnityWebClient(); var request = CreateWebSiteRequest(); response = client.Send(request); } catch (Exception e) { XuaLogger.AutoTranslator.Warn(e, "An error occurred while setting up GoogleTranslate FSID. Using random instead."); yield break; } // wait for response completion var iterator = response.GetSupportedEnumerator(); while (iterator.MoveNext()) { yield return(iterator.Current); } if (response.IsTimedOut) { XuaLogger.AutoTranslator.Warn("A timeout error occurred while setting up GoogleTranslate FSID. Using random instead."); yield break; } // failure if (response.Error != null) { XuaLogger.AutoTranslator.Warn(response.Error, "An error occurred while setting up GoogleTranslate FSID. Using random instead."); yield break; } // failure if (response.Data == null) { XuaLogger.AutoTranslator.Warn(null, "An error occurred while setting up GoogleTranslate FSID. Using random instead."); yield break; } try { var html = response.Data; bool found = false; string[] lookups = new[] { "FdrFJe\":\"" }; foreach (var lookup in lookups) { var index = html.IndexOf(lookup); if (index > -1) // simple string approach { var startIndex = index + lookup.Length; var endIndex = html.IndexOf("\"", startIndex); var result = html.Substring(startIndex, endIndex - startIndex); _FSID = long.Parse(result, CultureInfo.InvariantCulture); found = true; break; } } if (!found) { XuaLogger.AutoTranslator.Warn("An error occurred while setting up GoogleTranslate FSID. Could not locate FSID value. Using random instead."); } } catch (Exception e) { XuaLogger.AutoTranslator.Warn(e, "An error occurred while setting up GoogleTranslate FSID. Using random instead."); } }