java发送curl命令发送post或者get请求

java调用curl发送post或者get请求

废话不多说,直接上代码
下面第一部分为统一的调用方法,简单的java调用命令的方法

/**
 * java 调用 Curl的方法
 * @param cmds
 * @return
 */
public static String execCurl(String[] cmds) {
		ProcessBuilder process = new ProcessBuilder(cmds);
		Process p;
		try {
			p = process.start();
			BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
			StringBuilder builder = new StringBuilder();
			String line;
			while ((line = reader.readLine()) != null) {
				builder.append(line);
				builder.append(System.getProperty("line.separator"));
			}
			return builder.toString();
 
		} catch (IOException e) {
			System.out.print("获取线程异常"+e);
		}
		return null;
}

**

1、get请求

**

public static void getTokent(){
		String url = "https://www.baidu.com/";  //这个为url连接,随便写了个连接,一般接口会先调用接口获取token,然后拼接token,post发送请求
		String[] cmds = {"curl","X","GET" ,"-k", "-i",""+url+""};
		StringBuffer sb = new StringBuffer();
		for(int i=0;i<cmds.length;i++){
			sb.append(cmds[i]+" ");
		}
		System.out.println(sb);
		String responseMsg=execCurl(cmds);
		System.out.println(responseMsg);
	}

**

2、post请求

**

	public static void getMsg(){
		String jsonStr= "{'content':'testtest','creator':'creator''name':'lili'}";        //这里为发送的json串
		String url = "https://www.baidu.com/";   //这里为连接发送的url
		String accessToken = "123456";   //这一步这个token为上面get获取到的,有些简单的接口不需要获取这个
		String[] cmds = {"curl","-H","access-token:{{"+accessToken+"}}" ,
				"-H", "Content-Type:application/json", 
				"-X","POST" ,"-k", "-i",""+url+"",
				"-d",""+jsonStr+""};   //超级注意:这个拼接json串的时候不要拼接双引号或者单引号,这个是踩坑提示,因为这个改了好久
		StringBuffer sb = new StringBuffer();
		for(int i=0;i<cmds.length;i++){
			sb.append(cmds[i]+" ");
		}
		System.out.println(sb);//这个是测试中调试输出你的发送命令航
	   System.out.println(execCurl(cmds));
	}
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
发送 HTTP POST 请求有多种方式,以下是其中两种常见的方式: 1. 使用编程语言的 HTTP 库:如果你使用的是一种编程语言,比如 Python、JavaJavaScript 等,通常都会有相应的 HTTP 库或框架可以方便地发送 HTTP 请求。你可以通过这些库来发送 POST 请求,并指定请求的 URL、请求头、请求体等参数。 举个 Python 的例子,使用 `requests` 库发送 POST 请求的代码如下: ```python import requests url = "http://example.com/api" # 请求的 URL data = {"key1": "value1", "key2": "value2"} # 请求体数据 response = requests.post(url, json=data) # 发送 POST 请求 print(response.status_code) # 打印响应状态码 print(response.json()) # 打印响应内容(如果是 JSON 格式) ``` 在上述代码中,`url` 是请求的目标 URL,`data` 是请求体数据,`requests.post()` 方法发送 POST 请求,并返回一个响应对象 `response`。你可以根据需要处理响应对象的状态码和内容。 2. 使用专业的 API 调试工具:除了编程语言的库外,还有一些专业的 API 调试工具,如 Postman、curl 等可以用来发送 HTTP 请求。这些工具提供了友好的界面和丰富的功能,方便进行请求参数的设置和调试。 例如,在 Postman 中发送 POST 请求,你可以打开 Postman,输入请求的 URL,选择请求方法为 POST,设置请求头和请求体参数,然后点击发送按钮即可。 无论使用哪种方式,你需要确保请求的 URL、请求方法、请求头、请求体等参数是正确的,并根据接口的要求进行设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值