Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从java运行curl(在java中使用curl命令)命令?_Java_Curl_Libcurl - Fatal编程技术网

如何从java运行curl(在java中使用curl命令)命令?

如何从java运行curl(在java中使用curl命令)命令?,java,curl,libcurl,Java,Curl,Libcurl,一旦我在终端中点击curl代码,我就能够得到200,所以我假设我编写testStytch的方式到目前为止还可以。但是,一旦我尝试集成到java文件中,就会得到错误的请求响应。我现在有点不知所措。 这就是我提到的转换curl代码 这就是我犯的错误。 HttpResponseProxy{HTTP/1.1 400错误请求[Date:Thu,2021年4月22日23:21:42 GMT,内容类型:application/json,内容长度:189,连接:keep-alive,Traceparent:00

一旦我在终端中点击curl代码,我就能够得到200,所以我假设我编写testStytch的方式到目前为止还可以。但是,一旦我尝试集成到java文件中,就会得到错误的请求响应。我现在有点不知所措。 这就是我提到的转换curl代码

这就是我犯的错误。 HttpResponseProxy{HTTP/1.1 400错误请求[Date:Thu,2021年4月22日23:21:42 GMT,内容类型:application/json,内容长度:189,连接:keep-alive,Traceparent:00-d3a39218eb8d091ffe3bf5cb474692ce-353a1a23da4e5dc4-01]响应Proxy{[内容类型:application/json,内容长度:189,分块:false]}

@RequestMapping(value=“/loginByStytch”,method=RequestMethod.POST)
公共同步字符串登录系统(ModelMap模型,HttpServletRequest
请求)引发异常{
映射器=新的ObjectMapper();
字符串哈希密码;
UserInfoBean UserInfoBean=mapper.readValue(request.getParameter(“数据”),
新类型引用(){});
String testStytch=“-k-X POST”https://test.stytch.com/v1/magic_links/send_by_email“-u project-test-b3ca64c2-b0c8d73:secret-test-s5lO3O-H”内容类型:application/json'-d”{​​​​​​​\"电子邮件\“:\”yiikikkano@nllllc.com\“,\“魔术链接\ url\”:\”http://localhost:8080/ROOT/NC/authenticateByStytch\“,\“过期\u分钟\”:500}​​​​​​​​'";
HttpResponse response=curl(testStytch);
InputStream InputStream=response.getEntity().getContent();
字符串jsonContent=convert(inputStream,Charset.forName(“UTF-8”));
request.getSession().setAttribute(Constant.SESSION_NAME,null);
返回“重定向:/timeline”;

}
您可以使用curl处理一个进程对象,这是手工制作的方式,我对您使用的这个lib不太了解,但也不太了解,所以我要避免,您也可以使用它获得一个inputStream,并用于填充响应流:

String command = "curl -X POST https://your_url/path --data foo=bar"; 
Process process = Runtime.getRuntime().exec(command);
process.getInputStream();