Comment puis-je faire un HTTP Post avec l'Authentification HTTP de Base, à l'aide de POCO?
Je suis en train de faire un HTTP Post avec l'Authentification HTTP de Base (texte en clair nom d'utilisateur et mot de passe), à l'aide de POCO. J'ai trouvé un exemple d'Obtenir et ont essayé de le modifier, mais étant un débutant je pense que j'ai de déformation au-delà de l'utilité. Quelqu'un sait comment faire cela?
Oui, j'ai déjà vu l'autre question à ce sujet: POCO C++ - NET SSL - comment POSTER demande HTTPS, mais je ne peux pas donner un sens à la façon dont il essaie de mettre en œuvre le nom d'utilisateur et le mot de passe de la partie. Aussi, je ne comprends pas l'utilisation de "x-www-form-urlencoded". Est-il nécessaire pour un Poste? Je n'ai pas de forme. Veux juste envoyer sur le serveur avec un nom d'utilisateur et le mot de passe des paramètres.
OriginalL'auteur Alyoshak | 2012-10-31
Vous devez vous connecter pour publier un commentaire.
Enfin. Voici comment faire:
setKeepAlive()
sur à la fois la session et de la demande. Pourriez-vous éventuellement de modifier votre réponse à expliquer le but de fois, et que l'effet de quitter l'un ou l'autre est?Et s'il y a une raison quelconque vous n'utilisez pas
HTTPBasicCredentials
?Non, non délibérée raison pour laquelle je n'ai pas utilisé de HTTPBasicCredentials. Je n'étais pas au courant de beaucoup de choses. Était jeté dans iOS et avait d'autres projets en cours. Aurez à répondre à votre 1ère question plus tard.
+1 comme vous m'avez aidé à répondre à cette question: stackoverflow.com/questions/44333630/... Si vous êtes encore là peut-être que vous pouvez m'aider à obtenir le code d'autorisation à l'aide de Poco Net.
Je vois que vous fini par répondre à votre propre question aussi 🙂
OriginalL'auteur Alyoshak
Lorsque vous faites un HTTP POST, généralement, les données sont envoyées au serveur est envoyé dans l'une des deux formes:
Nom,la Valeur des paires où le nom et la valeur sont séparés par "=", et les paires sont séparées par "&". Par exemple:
var1=value1&var2=value2
. Aussi, ces paires nom /valeur sont envoyés ainsi que certains caractères spéciaux et des caractères non alphanumériques sont remplacés par%HH
, un signe de pourcentage, et de deux chiffres hexadécimaux représentant le code ASCII du caractère. Par exemple, si la valeur du premier paramètre inclus un "#", il serait envoyé commevar1=value1%23&var2=value2
. Lors de l'envoi de données dans ce format, le client est tenu d'insérer un en-tête Content-Type avec la valeurapplication/x-www-form-urlencoded
de sorte que le serveur peut être en mesure de décoder correctement les données.Comme un MIME à plusieurs parties du corps où chaque partie peut être de grande taille ainsi que d'inclure des "non-échappé" de données (y compris des données binaires). MIME parties sont séparées par un délimiteur de chaîne (frontière) qui n'apparaissent pas dans le MIME "charges utiles". Lors de l'envoi de données dans ce format, le client est tenu d'insérer un en-tête Content-Type avec la valeur
multipart/form-data
.Dans le cas de la précédente StackOverflow question que vous l'avez mentionné, le corps de la requête est envoyé dans la première manière, comme indiqué ci-dessus. Espérons que précise.
Ce qui concerne,
Siddharth
OriginalL'auteur Siddharth Toshniwal
De la POCO bibliothèque d'informations d'identification de test, voici le code:
Lors de l'envoi de la demande, vous devez utiliser uniquement la première partie de ce code (en s'arrêtant à
cred.authenticate(request)
).OriginalL'auteur Darth Vader