gpt4 book ai didi

java - 如何使用 HashMap 作为一个参数使用 HTTPClient 发送 POST 请求

转载 作者:行者123 更新时间:2023-11-30 11:05:18 24 4
gpt4 key购买 nike

我想发送带有多个字符串参数和一个 HashMap 对象的 Post 请求。如何做到这一点?

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
public class PostRequest {

public static void main(String args[]) throws Exception{


String url="http://url";
PostMethod post=new PostMethod(url);
post.setParameter("param1","abc");
post.setParameter("param2","1");
HttpClient httpclient = new HttpClient();
int a = httpclient.executeMethod(post);
System.out.println("I::::::::::::::::" + a);
String postResp = post.getResponseBodyAsString();
System.out.println("response::::" + postResp);
}
}

在上面的代码中,我还想在请求中发送HashMap对象。

HashMap hm = new HashMap(); 
hm.put("key","value");
//Set this param in URL.
post.setParameter("paramname",hm);

请帮忙。

最佳答案

尝试将你的 hashmap 转换为 JSON 字符串并放入 post 参数。之后,您可以从该 JSON 字符串重新创建 HashMap 。

    Map<String, String> myMap = new HashMap<String, String>();
myMap.put("MyKey", "MyValue");
String jsonMap = new Gson().toJson(myMap);
System.out.println(jsonMap);
/*
* output :{"MyKey":"MyValue"}
*/

Map<String, String> myOriginalMap = new HashMap<String, String>();
myOriginalMap = new Gson().fromJson(jsonMap, HashMap.class);
System.out.println(myOriginalMap);
/*
* output : {MyKey=MyValue}`enter code here`
*/`enter code here`

关于java - 如何使用 HashMap 作为一个参数使用 HTTPClient 发送 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29690692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com