Heute habe ich beim gemeinsamen Debuggen die Parameter als Jason-Strings gekapselt und gemäß der Dokumentation übergeben, aber die andere Partei hat lange Zeit damit verbracht, die Parameter als leer zu akzeptieren und konnte das Problem nicht finden. Ich bin sehr beunruhigt. Es gibt keine Fehler beim Überprüfen des Codes, aber warum akzeptiert die andere Partei leere Parameter? Dann kontaktierte ich das technische Personal der anderen Partei, um gemeinsam zu debuggen, um zu sehen, was los war. Nachdem ich lange gekämpft hatte, stellte ich schließlich fest, dass die andere Partei die NameValuePair-Methode zum Übergeben von Parametern verwendete. Obwohl diese Methode veraltet ist, wird sie hier aufgezeichnet, für den Fall, dass in Zukunft eine ähnliche Methode zur Parameterübergabe erscheint.
1 /** 2 /** 3 * 定义了一个list,该list的数据类型是NameValuePair(简单名称值对节点类型), 4 * 这个代码用于Java像url发送Post请求。在发送post请求时用该list来存放参数。 5 */ 6 7 List<NameValuePair> urlParameters = new ArrayList<>(); 8 urlParameters.add(new BasicNameValuePair("token", token)); 9 urlParameters.add(new BasicNameValuePair("city", city)); 10 urlParameters.add(new BasicNameValuePair("timestamp", timestamp)); 11 urlParameters.add(new BasicNameValuePair("sign", sign)); 12 ... 13 14 HttpPost post = new HttpPost("http://****:8047/v4.0/quoted");//建立HttpPost对象 15 post.setEntity(new UrlEncodedFormEntity(urlParameters, HTTP.UTF_8));//设置编码 16 HttpResponse response=new DefaultHttpClient().execute(post);//发送Post,并返回一个HttpResponse对象 17 String content = EntityUtils.toString(response.getEntity(), "UTF-8");
Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial zur Übergabe von Parametern mithilfe der NameValuePair-Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!