Heim > Backend-Entwicklung > C++ > Wie kann ich HTTP-GET-Anfragen mit URL-codierten Schrägstrichen in .NET stellen?

Wie kann ich HTTP-GET-Anfragen mit URL-codierten Schrägstrichen in .NET stellen?

Susan Sarandon
Freigeben: 2025-01-04 07:06:39
Original
835 Leute haben es durchsucht

How Can I Make HTTP GET Requests with URL-Encoded Slashes in .NET?

HTTP-GET-Anfragen mit URL-kodierten Schrägstrichen

Der Zugriff auf URLs mit URL-kodierten Schrägstrichen in .NET stellt eine Herausforderung dar. Anstatt die URL-Kodierung beizubehalten, versucht das Framework, sie zu kanonisieren, was zu einer ungültigen HTTP-Anfrage führt.

Um dieses Problem zu beheben, gibt es einen Workaround:

Uri uri = new Uri("http://example.com/%2F");
ForceCanonicalPathAndQuery(uri);
using (WebClient webClient = new WebClient())
{
  webClient.DownloadData(uri);
}

void ForceCanonicalPathAndQuery(Uri uri){
  string paq = uri.PathAndQuery;
  FieldInfo flagsFieldInfo = typeof(Uri).GetField("m_Flags", BindingFlags.Instance | BindingFlags.NonPublic);
  ulong flags = (ulong) flagsFieldInfo.GetValue(uri);
  flags &= ~((ulong) 0x30);
  flagsFieldInfo.SetValue(uri, flags);
}
Nach dem Login kopieren

Dieser Hack manipuliert den internen URI Flags, um die URL-Kodierung beizubehalten und HTTP-GET-Anfragen mit URL-kodierten Schrägstrichen zu ermöglichen. Es ist jedoch zu beachten, dass dieser Ansatz möglicherweise nicht mit zukünftigen Framework-Versionen kompatibel ist.

Das obige ist der detaillierte Inhalt vonWie kann ich HTTP-GET-Anfragen mit URL-codierten Schrägstrichen in .NET stellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage