我试图设置if-match标头如下,并使用System.Net.Http中提供的HttpClient:
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var adobeRequest = new HttpRequestMessage(HttpMethod.Put, new Uri(url))
{
Content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json")
};
if (!string.IsNullOrEmpty(Etag))
adobeRequest.Headers.Add("If-Match", Etag);
var response = client.SendAsync(adobeRequest);
我在以前(Get)电话中从adobe收到的Etag是:
64 Yadhaphashasvd 0 Ssd 4 Pete 1193给1,534 Saa 18父亲054
因此,当我尝试为Put请求添加相同内容时,它会出现以下错误:
值'64E8BBA87ACFD0C2C84AF6E1193A3761.5334C3A18AB5A054FF3DBC33AFBDF6C'的格式无效。
如何解决这个问题?它明确表示格式无效,但我相信Adobe的api正被其他百万人使用。所以不知怎的,它来自我的目的。
请改用adobeRequest.Headers.TryAddWithoutValidation
。