public override void OnCreateRequest(IHttpRequestCreationContext context) { var text = Uri.EscapeDataString(string.Join("\n", context.UntranslatedTexts)); var request = new XUnityWebRequest( "POST", UrlBase + (_isSMT ? UrlNSMT : UrlN2MT), string.Format( FormUrlEncodedTemplate, FixLanguage(context.SourceLanguage), FixLanguage(context.DestinationLanguage), text)); // create token var timestamp = Math.Truncate(DateTime.Now.Subtract(DateTime.MinValue.AddYears(1969)).TotalMilliseconds); var key = Encoding.UTF8.GetBytes(_version); var data = Encoding.UTF8.GetBytes($"{UUID}\n{request.Address}\n{timestamp}"); var token = Convert.ToBase64String(new HMACMD5(key).ComputeHash(data)); // set required headers request.Headers["Authorization"] = $"PPG {UUID}:{token}"; request.Headers["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8"; request.Headers["Timestamp"] = timestamp.ToString(); context.Complete(request); _translationCount++; }
public override void OnCreateRequest(IHttpRequestCreationContext context) { _translationCount++; string address = null; if (_ig == null || _iid == null) { address = HttpsServicePointTemplateUrlWithoutIG; } else { address = string.Format(HttpsServicePointTemplateUrl, _ig, _iid, _translationCount); } var data = string.Format( RequestTemplate, Uri.EscapeDataString(context.UntranslatedText), context.SourceLanguage, context.DestinationLanguage); var request = new XUnityWebRequest("POST", address, data); request.Cookies = _cookieContainer; AddHeaders(request, true); context.Complete(request); }
public override void OnCreateRequest(IHttpRequestCreationContext context) { _translationCount++; var allUntranslatedText = JsonHelper.Escape(JsonHelper.Escape(string.Join("\n", context.UntranslatedTexts))); var query = string.Join("&", new[] { "rpcids=" + _translateRpcId, "f.sid=" + _FSID.ToString(CultureInfo.InvariantCulture), "bl=" + Uri.EscapeDataString(_version), "hl=en-US", "soc-app=1", "soc-platform=1", "soc-device=1", "_reqid=" + _reqId.ToString(CultureInfo.InvariantCulture), "rt=c" }); var data = "f.req=" + Uri.EscapeDataString(string.Format(TranslationPostTemplate, _translateRpcId, allUntranslatedText, FixLanguage(context.SourceLanguage), FixLanguage(context.DestinationLanguage))) + "&"; var url = _httpsServicePointTranslateTemplateUrl + "?" + query; var request = new XUnityWebRequest("POST", url, data); request.Cookies = _cookieContainer; AddHeaders(request, true); _reqId += 100000; context.Complete(request); }
public override void OnCreateRequest(IHttpRequestCreationContext context) { _translationCount++; var allUntranslatedText = string.Join("\n", context.UntranslatedTexts); XUnityWebRequest request; if (context.DestinationLanguage == "romaji") { request = new XUnityWebRequest( string.Format( HttpsServicePointRomanizeTemplateUrl, context.SourceLanguage, Tk(allUntranslatedText), Uri.EscapeDataString(allUntranslatedText))); } else { request = new XUnityWebRequest( string.Format( HttpsServicePointTranslateTemplateUrl, context.SourceLanguage, context.DestinationLanguage, Tk(allUntranslatedText), Uri.EscapeDataString(allUntranslatedText))); } request.Cookies = _cookieContainer; AddHeaders(request, true); context.Complete(request); }
public override void OnCreateRequest(IHttpRequestCreationContext context) { var request = new XUnityWebRequest( string.Format( ServicePointTemplateUrl, _endpoint, context.SourceLanguage, context.DestinationLanguage, Uri.EscapeDataString(context.UntranslatedText))); context.Complete(request); }
public override void OnCreateRequest(IHttpRequestCreationContext context) { var request = new XUnityWebRequest( string.Format( HttpsServicePointTemplateUrl, context.SourceLanguage, context.DestinationLanguage, WwwHelper.EscapeUrl(context.UntranslatedText), _key)); request.Headers[HttpRequestHeader.Accept] = "*/*"; request.Headers[HttpRequestHeader.AcceptCharset] = "UTF-8"; context.Complete(request); }
public override void OnCreateRequest(IHttpRequestCreationContext context) { var urlBuilder = new StringBuilder(HttpsServiceUrl); urlBuilder.Append("?key=").Append(Uri.EscapeDataString(_key)); urlBuilder.Append("&source=").Append(context.SourceLanguage); urlBuilder.Append("&target=").Append(context.DestinationLanguage); for (int i = 0; i < context.UntranslatedTexts.Length; i++) { var untranslatedText = context.UntranslatedTexts[i]; urlBuilder.Append("&q=").Append(Uri.EscapeDataString(untranslatedText)); } var request = new XUnityWebRequest( "POST", urlBuilder.ToString()); context.Complete(request); }
public override void OnCreateRequest(IHttpRequestCreationContext context) { var fullTranslationText = string.Join("\n", context.UntranslatedTexts); var jsonString = string.Format(JsonTemplate, _deviceId, FixLanguage(context.SourceLanguage), FixLanguage(context.DestinationLanguage), JsonHelper.Escape(fullTranslationText)); var base64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(jsonString)); var obfuscatedBase64 = Obfuscate(16, base64); var data = string.Format(FormUrlEncodedTemplate, Uri.EscapeDataString(obfuscatedBase64)); var request = new XUnityWebRequest("POST", Url, data); request.Cookies = _cookies; SetupDefaultHeaders(request); SetupApiRequestHeaders(request); context.Complete(request); _translationCount++; }
public override void OnCreateRequest(IHttpRequestCreationContext context) { string salt = DateTime.UtcNow.Millisecond.ToString(); var md5 = CreateMD5(_appId + context.UntranslatedText + salt + _appSecret); var request = new XUnityWebRequest( string.Format( HttpServicePointTemplateUrl, WwwHelper.EscapeUrl(context.UntranslatedText), FixLanguage(context.SourceLanguage), FixLanguage(context.DestinationLanguage), _appId, salt, md5)); request.Headers[HttpRequestHeader.UserAgent] = string.IsNullOrEmpty(AutoTranslatorSettings.UserAgent) ? UserAgents.Chrome_Win10_Latest : AutoTranslatorSettings.UserAgent; request.Headers[HttpRequestHeader.AcceptCharset] = "UTF-8"; context.Complete(request); }
public override void OnCreateRequest(IHttpRequestCreationContext context) { StringBuilder data = new StringBuilder(); data.Append("["); for (int i = 0; i < context.UntranslatedTexts.Length; i++) { var untranslatedText = JsonHelper.Escape(context.UntranslatedTexts[i]); data.Append("{\"Text\":\""); data.Append(untranslatedText); data.Append("\"}"); if (context.UntranslatedTexts.Length - 1 != i) { data.Append(","); } } data.Append("]"); var request = new XUnityWebRequest( "POST", string.Format(HttpsServicePointTemplateUrl, context.SourceLanguage, context.DestinationLanguage), data.ToString()); if (Accept != null) { request.Headers[HttpRequestHeader.Accept] = Accept; } if (ContentType != null) { request.Headers[HttpRequestHeader.ContentType] = ContentType; } request.Headers["Ocp-Apim-Subscription-Key"] = _key; context.Complete(request); }
/// <summary> /// Callback that must be overwritten to create the request object. /// </summary> /// <param name="context"></param> public abstract void OnCreateRequest(IHttpRequestCreationContext context);