Hallo Leute,
ich habe so meine Probleme mit "PUT".
Abfragen mit POST und GET hab ich schon hinbekommen, aber irgendwie mag das mit dem PUT nicht funktionieren.
Ich bin mir sicher, es liegt an meinem Code der schlichtweg irgendwo einen groben Fehler hat.
Könnt Ihr mal drüberschauen - Ihr Profis habt den Fehler garantiert in 10 Sekunden ermittelt.
Die Funktion soll JSON Metadaten an einen Server schicken und eine JSON Antwort zurückerhalten.
Ich bekomme aber immer nur eine leere Antwort zurück.
Die "Baerer" Authentifizierung passt - die habe ich auch bei meinen anderen (funktionierenden) POST und GET Abfragen.
Ich habe auch eine zweite Variante ausprobiert, da kommt aber auch nur ein Leerstring zurück:
*Topic verschoben*
ich habe so meine Probleme mit "PUT".
Abfragen mit POST und GET hab ich schon hinbekommen, aber irgendwie mag das mit dem PUT nicht funktionieren.
Ich bin mir sicher, es liegt an meinem Code der schlichtweg irgendwo einen groben Fehler hat.
Könnt Ihr mal drüberschauen - Ihr Profis habt den Fehler garantiert in 10 Sekunden ermittelt.
Die Funktion soll JSON Metadaten an einen Server schicken und eine JSON Antwort zurückerhalten.
Ich bekomme aber immer nur eine leere Antwort zurück.
Die "Baerer" Authentifizierung passt - die habe ich auch bei meinen anderen (funktionierenden) POST und GET Abfragen.
VB.NET-Quellcode
- Public Function GetUploadURL() As String
- Dim UUID As String = System.Guid.NewGuid.ToString
- Dim JSONMetadaten As String = "[{
- 'ID' = '#UUID#',
- 'Type' = 'DocumentType',
- 'Version' = 1
- }]"
- JSONMetadaten = JSONMetadaten.Replace("#UUID#", UUID)
- '// nur zum Testen
- 'JSONMetadaten = JSONMetadaten.Replace("'", """")
- 'MessageBox.Show(JSONMetadaten) 'Zeigt die JSONMetadaten an (Kontrolle zur Entwicklungszeit)
- Dim encoding As New UTF8Encoding
- Dim byteData As Byte() = encoding.GetBytes(JSONMetadaten)
- Dim Response As String = ""
- ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
- Dim tempcookies As New CookieContainer
- Dim rM2Request As HttpWebRequest = DirectCast(HttpWebRequest.Create(STORAGE_REQUEST_URL), HttpWebRequest)
- rM2Request.Headers("Authorization") = "Bearer " & My.Settings.USER_TOKEN
- rM2Request.ContentLength = byteData.Length
- rM2Request.ContentType = "application/json"
- rM2Request.Method = "PUT"
- rM2Request.KeepAlive = True
- rM2Request.CookieContainer = tempcookies
- rM2Request.UserAgent = "freeremarkabletools.com"
- Using requestStream = rM2Request.GetRequestStream
- requestStream.Write(byteData, 0, byteData.Length)
- requestStream.Close()
- Using responseStream = rM2Request.GetResponse.GetResponseStream
- Using reader As New StreamReader(responseStream)
- Response = reader.ReadToEnd()
- End Using
- End Using
- End Using
- Return Response
- End Function
Ich habe auch eine zweite Variante ausprobiert, da kommt aber auch nur ein Leerstring zurück:
VB.NET-Quellcode
- Public Function GetUploadURL() As String
- Dim UUID As String = System.Guid.NewGuid.ToString
- Dim JSONMetadaten As String = "[{
- 'ID' = '#UUID#',
- 'Type' = 'DocumentType',
- 'Version' = 1
- }]"
- JSONMetadaten = JSONMetadaten.Replace("#UUID#", UUID)
- '// nur zum Testen
- JSONMetadaten = JSONMetadaten.Replace("'", """")
- JSONMetadaten = JSONMetadaten.Replace(" ", "")
- JSONMetadaten = JSONMetadaten.Replace(vbCrLf, "")
- 'MessageBox.Show(JSONMetadaten) 'Zeigt die JSONMetadaten an (Kontrolle zur Entwicklungszeit)
- Dim AEncoding As New UTF8Encoding
- Dim MybyteData As Byte() = AEncoding.GetBytes(JSONMetadaten)
- Using UploadWebClient As New Net.WebClient
- UploadWebClient.Headers.Add("Authorization", "Bearer " & My.Settings.USER_TOKEN)
- Dim responsebytes = UploadWebClient.UploadData(STORAGE_REQUEST_URL, "PUT", MybyteData)
- Dim responsebody As String = (New System.Text.UTF8Encoding).GetString(responsebytes)
- MessageBox.Show(responsebody)
- End Using
- Return ""
- End Function
*Topic verschoben*
Liebe Grüße
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()