Saya baru saja mendapatkan pengecualian ini (ProtocolViolationException) di aplikasi .NET 2.0 saya (berjalan di emulator standar windows mobile 6). Yang membingungkan saya adalah sejauh yang saya tahu, saya belum menambahkan isi konten apa pun, kecuali saya secara tidak sengaja melakukannya. Kode saya ada di bawah (sangat sederhana). Apakah ada hal lain yang perlu saya lakukan untuk meyakinkan. NET bahwa ini hanya http GET?
Terima kasih, Brian
//run get and grab response
WebRequest request = WebRequest.Create(get.AbsoluteUri + args);
request.Method = "GET";
Stream stream = request.GetRequestStream(); // <= explodes here
XmlTextReader reader = new XmlTextReader(stream);
sumber
HttpClient
danHttpRequestMessage
?Saya mengalami masalah serupa saat menggunakan Flurl.Http:
Flurl.Http.FlurlHttpException: Call failed. Cannot send a content-body with this verb-type. GET http://******:8301/api/v1/agents/**** ---> System.Net.ProtocolViolationException: Cannot send a content-body with this verb-type.
Masalahnya adalah saya digunakan
.WithHeader("Content-Type", "application/json")
saat membuat IFlurlRequest.sumber
Karena Anda tidak menentukan Header.
Saya telah menambahkan contoh tambahan:
Header (permintaan ref, p_Method);
Dan metode Header:
sumber
Harap setel Jenis Konten permintaan sebelum Anda membaca aliran tanggapan;
sumber