Requête HTTP GET avec le nom d'utilisateur & Mot de passe

C'est ma première tentative de création d'un console app qui peut faire une HTTP GET demande et imprimer la réponse à la console.

Jusqu'à présent, le code fonctionne, mais seulement pour URIs qui ne nécessitent pas de username/password.

Mon but ultime est d'utiliser un cloud/hosting API qui accepte HTTP GET demandes déclenche pour prendre certaines mesures. En tant que tel, je dois utiliser un username/password pour cela.

using System;
using System.Net;
using System.IO;

namespace HttpTestProject {

    class Program {

        static void Main(string[] args) {

            Uri uri = new Uri("http://www.google.com");
            string username = "asdf";
            string password = "asdf";

            NetworkCredential cred = new NetworkCredential(username, password);
            CredentialCache cache = new CredentialCache();
            cache.Add(uri, "Basic", cred);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream resStream = response.GetResponseStream();

            StreamReader reader = new StreamReader(resStream);
            string text = reader.ReadToEnd();

            Console.WriteLine(text);
            Console.ReadLine();

        }

    }

}
  • Ne devrait pas les informations d'identification réseau être envoyé par la POSTE?
  • authentification http de base est indépendante de la méthode de la requête. Je me demande ce que la question est bien (ne pas les informations d'identification attribué à la Credentials propriété de la demande?)
  • L'envoi d'informations d'identification réseau via un GET au lieu de POST n'est pas moins sûr, est-il?
  • Je ne sais pas pourquoi ce commentaire a eu 4 upvotes, authentification http de Base est envoyé sous la forme d'un en-tête HTTP, indépendamment de savoir si vous êtes en utilisant GET ou POST. Les deux sont tout aussi sécurisé (pas sûr du tout, sauf si vous utilisez https).
  • Si vous traitez avec 401 -> stackoverflow.com/questions/2038808/...
InformationsquelleAutor nairware | 2013-01-10