java中的curl命令等价物
这是我的curl命令:java中的curl命令等价物,java,post,curl,Java,Post,Curl,这是我的curl命令: curl https://login.xyz.com/v1/oauth/token -H "Accept: application/json" --data 'client_id=client_id' --data 'client_secret=client_secret' --data 'redirect_uri=redirect_uri' --data 'code=code' 我正试着用java发布。以下是我想做的: String resourceUrl = "ht
curl https://login.xyz.com/v1/oauth/token -H "Accept:
application/json" --data 'client_id=client_id' --data
'client_secret=client_secret' --data 'redirect_uri=redirect_uri'
--data 'code=code'
我正试着用java发布。以下是我想做的:
String resourceUrl = "https://login.xyz.com/v1/oauth/token?client_id=<client.id>&client_secret=<client.secret>&redirect_uri=https://login.xyz.com/user/login&code=<code>";
HttpURLConnection httpcon = (HttpURLConnection) ((new URL(resourceUrl).openConnection()));
httpcon.setDoOutput(true);
httpcon.setRequestProperty("Content-Type", "application/json");
httpcon.setRequestProperty("Accept", "application/json");
httpcon.setRequestMethod("POST");
httpcon.connect();
System.out.println(httpcon.getHeaderField(0));
但是我得到了HTTP/1.1500内部服务器错误我没有测试,但通过查看文档和源代码,我可以看到curl命令和Java实现之间的一些差异: 卷曲:
- 执行职务
- 内容类型为application/x-www-form-urlencoded
- 执行POST,但URL变得相似(将请求方法设置为POST,但在URL查询字符串中传递参数)
- 内容类型是application/json
公共类卷发测试{
public void main(字符串[]args)引发IOException{
sendData();
}
公共字符串sendData()引发IOException{
//curl_init和url
URL=新URL(“将请求放在此处”);
HttpURLConnection con=(HttpURLConnection)url.openConnection();
//卷发柱
con.setRequestMethod(“POST”);
//卷曲跟随定位
con.setInstanceFollowRedirects(真);
String postData=“用于发布的我的数据”;
con.setRequestProperty(“内容长度”,
String.valueOf(postData.length());
con.设置输出(真);
con.setDoInput(真);
DataOutputStream输出=新的DataOutputStream(con.getOutputStream());
输出.writeBytes(postData);
output.close();
//“发布数据发送…等待回复”);
int code=con.getResponseCode();//200=HTTP\u确定
System.out.println(“响应(代码):”+代码);
System.out.println(“响应(消息):”+con.getResponseMessage());
//阅读回复
DataInputStream输入=新的DataInputStream(con.getInputStream());
INTC;
StringBuilder resultBuf=新建StringBuilder();
而((c=input.read())!=-1){
resultBuf.append((char)c);
}
input.close();
返回resultBuf.toString();
}
}
下面是一个示例,我将如何处理所需的POST:
-X/--request
,-d-仅一个用于指定数据值的键不确定我是否同意:似乎你是对的,-X
仅用于您希望在没有任何数据的情况下发送POST的情况