Print-Inhalte von HttpParams / HttpUriRequest?
Ich habe eine HttpUriRequest Instanz, gibt es eine Möglichkeit zum ausdrucken aller Parameter, die er enthält? Zum Beispiel kann ich fast bekommen, Sie wie:
HttpUriRequest req = ...;
HttpParams params = req.getParams();
for (int i = 0; i < params.size(); i++) { //?
println(params.getParam(i); //?
}
Gibt es eine Möglichkeit, dies zu tun?
Dank
- in welchem Paket ist Ihr HttpUriRequest?
- import org.apache.http.client.Methoden.HttpUriRequest;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einfach iterieren über alle Header-Felder.
Die vorgeschlagene Methode params.toString() funktioniert nicht.
Sind Sie auf der Suche für die HTTP-Parameter oder die URI-Parameter?
Den HTTP-Parameter sind Dinge wie user-agent, socket buffer size, protocol, version, etc.
Den URI-Parameter die client-Werte, die übergeben bekommen, die als Teil des Antrags, z.B.
Wenn Sie sich für den URI-Parameter, versuchen Sie so etwas wie dieses:
Aber wenn Sie wollen, dass die rohen HTTP params, es ist ein wenig komplizierter, da nicht alle Implementierungen von HttpParams unterstützt
getNames()
. Sie hätten, so etwas zu tun:HttpUriRequest erstreckt HttpMessage, die getAllHeaders(), getParams() etc.
Werfen Sie einen Blick hier: http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/index.html, Suche für HttpMessage
Könnte man erstellen Sie eine Arbeit um, indem er es zu BasicHttpParams Objekt.
BasicHttpParams basicParams = (BasicHttpParams) params;
Diese geben Ihnen Zugang zu
getNames()
enthält eineHashSet<String>
ParameterKönnen Sie dann Durchlaufen Sie den Druck aus den Namen der parameter, neben der es Wert ist.
Sehen
https://stackoverflow.com/a/57600124/5622596
für eine mögliche Lösung