Я использую пакет RestSharp для связи с конечной точкой lob.
Недавно я обновил проект до .net 4.6 для поддержки TLS1.2. Теперь я получаю странную ошибку
mscorlib.dll "" не поддерживается имя кодировки. Для получения информации об определении пользовательской кодировки см. Документацию для метода Encoding.RegisterProvider
Код восстановления:
Dim client = New RestClient("https://api.lob.com/v1/")
client.Authenticator = New HttpBasicAuthenticator("***", "")
Dim request = New RestRequest("postcards", Method.POST)
Dim mm = New CreatePostcard() With {.description = "Postcard",
.to = New Address() With {.name = FirstName & " " & LastName, .address_line1 = Address1, .address_line2 = Address2, .address_city = City, .address_state = State, .address_zip = Zip},
.back = BackURL, .front = FrontURL, .message = ""}
Dim json = Newtonsoft.Json.JsonConvert.SerializeObject(mm)
request.AddParameter("application/json; charset=utf-8", json, ParameterType.RequestBody)
request.RequestFormat = DataFormat.Json
Dim response2 As IRestResponse(Of Postcard) = client.Execute(Of Postcard)(request)
Dim expected_delivery = response2.Data.expected_delivery_date
Dim LobID = response2.Data.id
Client.Execute создает исключение; если я вхожу в это, я вижу, что response2.ContentEncoding = ""; который бросает исключение. Если я продолжу шаг, я получу правильную дату доставки и data.id.
Это проблема с моим кодом или проблема с lob, не отправляющим обратно информацию о кодировке, или с самим пакетом restSharp?
Можно ли обойтись, просто сказав, что "" является допустимой кодировкой для принятия?