IMEX MySnd, RKSV DE Storno, Div.Bugfix
This commit is contained in:
108
VERAG_PROG_ALLGEMEIN/Schnittstellen/cDeeplAPI.vb
Normal file
108
VERAG_PROG_ALLGEMEIN/Schnittstellen/cDeeplAPI.vb
Normal file
@@ -0,0 +1,108 @@
|
||||
Imports System.Web
|
||||
Imports System.Web.Routing
|
||||
Imports iTextSharp.text.xml.simpleparser
|
||||
|
||||
Public Class cDeeplAPI
|
||||
|
||||
'PROD
|
||||
Shared API_STRING As String = "https://api-free.deepl.com"
|
||||
Shared AUTH_KEY As String = "57bad342-00e2-6732-da08-b6733fb09a91:fx"
|
||||
|
||||
|
||||
Shared Function deepl_Translate(textTotranslate As String, ByRef textResult As String, targetLAN As String, Optional sourceLAN As String = "DE") As Boolean
|
||||
textResult = textTotranslate
|
||||
Dim rest As New Chilkat.Rest
|
||||
|
||||
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
|
||||
' Connect to the REST server.
|
||||
Dim bTls As Boolean = True
|
||||
Dim port As Integer = 443
|
||||
Dim bAutoReconnect As Boolean = True
|
||||
Dim success As Boolean = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
|
||||
|
||||
If (success <> True) Then
|
||||
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
|
||||
Debug.WriteLine(rest.LastErrorText)
|
||||
Return False
|
||||
End If
|
||||
|
||||
'---------------------------------------------------
|
||||
'See the Online Tool for Generating JSON Creation Code
|
||||
Dim json As New Chilkat.JsonObject
|
||||
' If sourceLAN <> "" Then json.UpdateNumber("source_lang", sourceLAN)
|
||||
json.UpdateString("target_lang", targetLAN)
|
||||
json.UpdateString("text", textTotranslate)
|
||||
'json.UpdateString("preserve_formatting", 1)
|
||||
json.UpdateString("auth_key", AUTH_KEY)
|
||||
|
||||
rest.AddHeader("Accept", "application/json")
|
||||
rest.AddHeader("Content-Type", "application/x-www-form-urlencoded")
|
||||
' client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
|
||||
'client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/x-www-form-urlencoded");
|
||||
|
||||
'rest.AddHeader("Authorization", AUTH_KEY)
|
||||
' rest.AddHeader("Accept", "application/vnd.hmrc.1.0+json")
|
||||
'rest.AddHeader("Accept", "*/*")
|
||||
'rest.AddHeader("User-Agent", "PostmanRuntime/7.29.0")
|
||||
'rest.AddHeader("Connection", "keep-alive")
|
||||
'rest.AddHeader("Accept-Encoding", "gzip, deflate, br")
|
||||
'rest.AddHeader("Cache-Control", "no-cache")
|
||||
'rest.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0")
|
||||
' rest.AddHeader("Content-Type", "application/x-www-form-urlencoded")
|
||||
|
||||
'rest.AddHeader("Accept", "*/*")
|
||||
|
||||
|
||||
Dim sbRequestBody As New Chilkat.StringBuilder
|
||||
'json.EmitSb(sbRequestBody)
|
||||
'MsgBox(sbRequestBody.ToString)
|
||||
|
||||
|
||||
'---------------------------------------------------
|
||||
'Dim json As New Chilkat.JsonObject
|
||||
'Dim successJsonLoad As Boolean = json.Load("
|
||||
' {""source_lang"":DE,""target_lang"":""DE"",""text"":""Hello World"",""preserve_formatting"":""1"",""auth_key"":""57bad342-00e2-6732-da08-b6733fb09a91:fx""} ")
|
||||
'If (successJsonLoad <> True) Then
|
||||
' MsgBox(json.LastErrorText)
|
||||
' Return False
|
||||
'End If
|
||||
'Dim sbRequestBody As New Chilkat.StringBuilder
|
||||
'json.EmitSb(sbRequestBody)
|
||||
|
||||
' MsgBox("/v2/translate?auth_key=" & AUTH_KEY & "&target_lang=" & targetLAN & "&text=" & HttpUtility.UrlEncode(textTotranslate) & "")
|
||||
Dim sbResponseBody As New Chilkat.StringBuilder
|
||||
Dim srch = If(sourceLAN <> "", "&source_lang=" & sourceLAN, "")
|
||||
success = rest.FullRequestSb("POST", "/v2/translate?auth_key=" & AUTH_KEY & "&target_lang=" & targetLAN & "&text=" & HttpUtility.UrlEncode(textTotranslate) & srch, sbRequestBody, sbResponseBody)
|
||||
' success = rest.FullRequestSb("POST", "/v2/translate", sbRequestBody, sbResponseBody)
|
||||
|
||||
' MsgBox(success)
|
||||
|
||||
If (rest.LastMethodSuccess <> True) Then
|
||||
Console.WriteLine(rest.LastErrorText)
|
||||
Return False
|
||||
End If
|
||||
|
||||
If success Then
|
||||
Dim respStatusCode As Integer = rest.ResponseStatusCode
|
||||
'MsgBox(respStatusCode)
|
||||
If (respStatusCode = 200) Then
|
||||
Try
|
||||
Dim jsonResp = New Chilkat.JsonObject()
|
||||
jsonResp.LoadSb(sbResponseBody)
|
||||
If jsonResp.SizeOfArray("translations") > 0 Then
|
||||
textResult = jsonResp.StringOf("translations[0].text")
|
||||
' MsgBox("::::::::: " & jsonResp.StringOf("translations[0].text"))
|
||||
Return True
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
End Try
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Return False
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user