2017-03-13 1 views
0

Ich versuche HTTP 2.0 Anfrage in Visual C# zu senden.Wie wurde HTTP 2.0-Anfrage in Visual C# gesendet?

Ich verwende die neueste Version von .NET Framework. Im Entwickler-Tool des Edge-Browsers wird die Website 'https://www.google.com' als HTTP/2 angezeigt.

Aber unterhalb Code wirft HTTP-Version als 1.1. Ich habe relevante Benutzer-Agent-Zeichenfolge in der Anfrage hinzugefügt. Was fehlt mir hier?

 string html = string.Empty; 
     string url = @TextBox1.Text; 

     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
     request.AutomaticDecompression = DecompressionMethods.GZip; 
     request.Accept = "text/html, application/xhtml+xml, image/jxr, */*"; 
     request.UserAgent = @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393"; 
     request.Method = "GET"; 

     using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
     using (Stream stream = response.GetResponseStream()) 
     using (StreamReader reader = new StreamReader(stream)) 
     { 
      html = reader.ReadToEnd(); 
      for (int i = 1; i < response.Headers.Count; ++i) 
      { 
       System.Diagnostics.Debug.WriteLine(response.Headers[i]); 

       String resp = response.Headers[i].ToString(); 
       resp = response.Headers[i-1].ToString() + resp; 
       System.Diagnostics.Debug.WriteLine(response.ProtocolVersion); 
       TextBox2.Text = response.ProtocolVersion.ToString(); 
      } 

     } 
     System.Diagnostics.Debug.WriteLine(html); 

     Console.WriteLine(html); 
    } 
+0

MSDN sagt hier https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.protocolversion(v=vs.110).aspx, dass nur 1.0 und 1.1 unterstützt werden . – Evk

Antwort

Verwandte Themen