ich möchte gerne diesen Aufruf
nach VB.net übersetzen und mittels httpclient (Post) senden. Es soll ein Datensatz in eine InfluxDB 2.4 geschrieben werden. Bisher habe ich nur das erstellt:
Bekomme dann aber folgenden Fehler: Error-> System.FormatException: "The header name format is invalid."
Die Authentifikation per Token scheint hier nicht übernommen zu werden. Ich habe dann das hier gefunden:
Dies läuft zwar ohne Fehlermeldung, aber es kommt weder ein Datensatz in der Datenbank an, noch bekomme ich eine Rückmeldung (Zeile 12 läuft nicht).
Es wäre toll wenn mir hier jemand bitte helfen könnte. Ein einfacher Aufruf wäre gut, eine asynchrone Methode natürlich besser.
Bisher habe ich keine funktionierende Lösung finden können...
nach VB.net übersetzen und mittels httpclient (Post) senden. Es soll ein Datensatz in eine InfluxDB 2.4 geschrieben werden. Bisher habe ich nur das erstellt:
VB.NET-Quellcode
- Dim httpClient As HttpClient = New HttpClient()
- Dim DAhttpContent As StringContent = New StringContent("solar,mytag=1 cwatt=222", Encoding.UTF8, "text/plain")
- DAhttpContent.Headers.Add("Authorization:", "Token 12345...")
- DAhttpContent.Headers.Add("Content-Type:", "text/plain; charset=utf-8")
- DAhttpContent.Headers.Add("Accept:", "application/json")
- Dim response = httpClient.PostAsync("http://192.168.1.99:8086/write?db=data&u=user1&p=writewrite1", DAhttpContent)
Bekomme dann aber folgenden Fehler: Error-> System.FormatException: "The header name format is invalid."
Die Authentifikation per Token scheint hier nicht übernommen zu werden. Ich habe dann das hier gefunden:
VB.NET-Quellcode
- Private Shared Async Function Main3() As Task
- Using xclient As HttpClient = New HttpClient()
- Dim request_json = "solar,mytag=1 cwatt=222"
- Dim content = New StringContent(request_json, Encoding.UTF8, "text/plain")
- Dim authenticationBytes = Encoding.ASCII.GetBytes("12345...")
- xclient.DefaultRequestHeaders.Authorization = New AuthenticationHeaderValue("Basic", Convert.ToBase64String(authenticationBytes))
- xclient.DefaultRequestHeaders.Accept.Add(New MediaTypeWithQualityHeaderValue("application/json"))
- Dim result = Await xclient.PostAsync("http://192.168.1.99:8086/api/v2/write?org=db1&bucket=data&precision=ns", content)
- 'Dim result_string As Task(Of String) = result.Content.ReadAsStringAsync() '<- Error "Content is no Member of Task(Of HttpResponseMessage)"
- End Using
- End Function
Dies läuft zwar ohne Fehlermeldung, aber es kommt weder ein Datensatz in der Datenbank an, noch bekomme ich eine Rückmeldung (Zeile 12 läuft nicht).
Es wäre toll wenn mir hier jemand bitte helfen könnte. Ein einfacher Aufruf wäre gut, eine asynchrone Methode natürlich besser.
Bisher habe ich keine funktionierende Lösung finden können...