Sto cercando di fare un HTTP Post con l’Autenticazione di Base HTTP (chiaro username e password), che utilizza POCO. Ho trovato un esempio di Ottenere e hanno provato a modificarlo, ma essendo un rookie credo di aver storpiato al di là della sua utilità. Qualcuno sa come fare questo?
Sì, ho già visto l’altra domanda su questo: POCO C++ – NET SSL – come inviare richiesta HTTPS, ma non riesco a dare un senso di come si sta cercando di implementare il nome utente e la password. Anche io non capisco l’utilizzo di “x-www-form-urlencoded”. Questo è necessario per un Post? Non ho un modulo. Voglio solo POST al server con i parametri username e password.
Infine. Ecco come fare:
setKeepAlive()
sia la seduta e la richiesta. Si potrebbe eventualmente modificare la tua risposta per spiegare lo scopo di entrambi, e che l’effetto di lasciare uno o out?E c’è un motivo per non utilizzare
HTTPBasicCredentials
?No, No deliberata ragione io non uso HTTPBasicCredentials. Non ero a conoscenza di un sacco di cose allora. Era gettato in iOS e aveva altri progetti in corso. Dovrà rispondere il 1 ° domande più tardi.
+1 come voi mi ha aiutato a rispondere a questa domanda: stackoverflow.com/questions/44333630/… Se siete ancora in giro magari mi può aiutare a ottenere il codice di autorizzazione utilizzando Poco Netto.
Vedo che si è conclusa risponde alla vostra domanda 🙂
OriginaleL’autore Alyoshak
Quando si fa un POST HTTP, in genere i dati che viene inviato al server viene inviato in una delle due forme:
Nome,coppie di valori in cui il nome e il valore sono separate da “=”, e distinto coppie sono separate da “&”. Per esempio:
var1=value1&var2=value2
. Inoltre, queste coppie nome /valore che vengono inviati in modo che alcuni caratteri speciali e caratteri non alfanumerici vengono sostituiti da%HH
, un segno di percentuale e di due cifre esadecimali che rappresentano il codice ASCII del carattere. Per esempio, se il valore del primo parametro incluso un “#”, dovrebbe essere inviato comevar1=value1%23&var2=value2
. Quando l’invio di dati in questo formato, il cliente è tenuto a inserire un’intestazione Content-Type con valoreapplication/x-www-form-urlencoded
in modo che il server potrebbe non essere in grado di decodificare correttamente i dati.Come MIME multipart corpo in cui ogni parte può essere di grandi dimensioni nonché includere “non di escape” i dati (compresi i dati binari). Diverse parti MIME sono separati da un delimitatore di stringa (il confine) non viene visualizzato all’interno di qualsiasi MIME “payload”. Quando l’invio di dati in questo formato, il cliente è tenuto a inserire un’intestazione Content-Type con valore
multipart/form-data
.In caso di precedente StackOverflow domanda di riferimento, la richiesta del corpo viene inviato nel primo modo, come mostrato sopra. Spero che chiarisce.
Riguarda,
Siddharth
OriginaleL’autore Siddharth Toshniwal
Da POCO libreria delle credenziali di test, ecco il codice:
Quando si invia la richiesta, si utilizzerà solo la prima parte di questo codice (arresto in
cred.authenticate(request)
).OriginaleL’autore Darth Vader