来自curl的json body的Java HTTP POST请求

时间:2017-11-19 10:44:00

标签: java json http curl http-post

我正在尝试转换此 curl 命令:

curl -v -s -X POST $OS_AUTH_URL/auth/tokens?nocatalog   -H "Content-Type: application/json"   -d '{ "auth": { "identity": { "methods": ["password"],"password": {"user": {"domain": {"name": "'"$OS_USER_DOMAIN_NAME"'"},"name": "'"$OS_USERNAME"'", "password": "'"$OS_PASSWORD"'"} } }, "scope": { "project": { "domain": { "name": "'"$OS_PROJECT_DOMAIN_NAME"'" }, "name":  "'"$OS_PROJECT_NAME"'" } } }}' 

进入Java代码。我看到了周围的东西,但我无法解决。 我尝试使用这样的代码,但可能我正在做一些错误。

HttpPost httpPost = new HttpPost("http://192.168.1.107:5000/v3/auth/tokens?nocatalog ");
String json = "'{ \"auth\": { \"identity\": { \"methods\": [\"password\"],\"password\": {\"user\": {\"domain\": {\"name\": \"'\"Default\"'\"},\"name\": \"'\"admin\"'\", \"password\": \"'\"MYPASSWORD\"'\"} } }, \"scope\": { \"project\": { \"domain\": { \"name\": \"'\"default\"'\" }, \"name\":  \"'\"admin\"'\" } } }}'";
StringEntity entity = new StringEntity(json);
httpPost.setEntity(entity);
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-type", "application/json");

0 个答案:

没有答案