Comment faire pour ajouter des paramètres à HttpURLConnection l'aide de POST à l'aide de NameValuePair

Je suis en train de faire POST avec HttpURLConnection(j'ai besoin de l'utiliser de cette façon, ne peut pas utiliser HttpPost) et je voudrais ajouter des paramètres à cette connexion comme

post.setEntity(new UrlEncodedFormEntity(nvp));

nvp = new ArrayList<NameValuePair>();

avoir quelques données stockées dans. Je ne peux pas trouver un moyen comment ajouter cette ArrayList à mon HttpURLConnection qui est ici:

HttpsURLConnection https = (HttpsURLConnection) url.openConnection();
https.setHostnameVerifier(DO_NOT_VERIFY);
http = https;
http.setRequestMethod("POST");
http.setDoInput(true);
http.setDoOutput(true);

La raison pour que maladroit https et http combinaison est la nécessité pour à ne pas vérifier le certificat. Ce n'est pas un problème, même si, il l'envoie au serveur bien. Mais j'en ai besoin pour post avec des arguments.

Des idées?


Double Avertissement:

De retour en 2012, je n'avais aucune idée de la façon dont les paramètres ont été insérés dans un HTTP POST demande. J'ai été suspendu pour NameValuePair parce qu'il était dans un tutoriel. Cette question peut sembler comme un doublon, cependant, mon 2012 auto de lire que d'autres question et il a été PAS à l'aide de NameValuePair. Il n'a pas, en effet, de résoudre mon problème.

  • Si vous avez un problème avec l'affichage params puis lien ci-dessous peuvent vous aider. stackoverflow.com/questions/2793150/...
  • String url = "example.com"; String charset = "UTF-8"; String param1 = "valeur1"; String param2 = "valeur2"; // ... String query = Chaîne de caractères.format("param1=%s&param2=%s", URLEncoder.coder(param1, charset), URLEncoder.coder(param2, charset)); vous pouvez faire une requête de la chaîne au lieu d'utiliser NameValuePair Liste.
  • "J'ai besoin de l'utiliser de cette façon, ne peut pas utiliser HttpPost" c'est pourquoi j'ai proposé cette autre réponse posté par Manikandan fonctionne très bien.
  • J'ai une question/doute au sujet de complexes de type de paramètres. J'ai les paramètres, et je ne sais pas comment passer de ces paramètres. {"key1":"value1", "key2":"value2", "key3":{"inner key1":"inner value1", "inner key2":"inner value 2"}}. J'ai été fourni ce type de complexe de la valeur de la clé de paramètres et je veux savoir comment puis-je passer ces paramètres dans webservice?
  • Connexes: stackoverflow.com/questions/4205980/...
  • Double Possible de Java - envoi HTTP paramètres via la méthode POST facilement
  • pourquoi marquage de cette question comme un doublon, lorsque vous avez lié votre réponse (à partir de 2015) pour une réponse qui est ici? Exactement pour la raison que j'ai posté dans cette question en 2012 - l'utilisation de NameValuePair.
  • C'était parce que "beaucoup de réponses" ici, ce sont les mêmes que les réponses à cette question. Mais maintenant je vois que c'est une autre question, merci pour ces précisions 🙂

InformationsquelleAutor Michal | 2012-03-19