- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想发出 POST 请求以从 Openstack 获取 token 。我可以通过输入 url 使用 Mozilla 上的插件来执行此操作:“http://********/v2.0/tokens”和数据为
{
"auth": {
"tenantName": "admin",
"passwordCredentials": {
"username": "xxxxxx",
"password": "xxxxxx"
}
}
}
如何用JAVA程序做同样的事情?到目前为止我已经尝试过以下代码,但没有成功。
package rest.openstack;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class NetClientGet {
// http://localhost:8080/RESTfulExample/json/product/get
public static void main(String[] args) {
try {
URL url = new URL("http://***.**.**.**:5000/v2.0/tenants/"); //url for openstack
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
最佳答案
我更喜欢 Jersey API 进行 REST 调用;
下面是获取POST实体中指定用户的token;
String postEntity = "yourJson";
JerseyClient jerseyClient = JerseyClientBuilder.createClient();
JerseyWebTarget jerseyTarget = jerseyClient.target("http://***.**.**.**:****/v2.0/tokens");
JerseyInvocation.Builder jerseyInvocation = jerseyTarget.request("application/json");
jerseyInvocation.header("Context-type", "application/json");
Response response = jerseyInvocation.post(Entity.entity(postEntity, MediaType.APPLICATION_JSON), Response.class);
然后您可以使用一些解析器(例如 com.google.gson.JsonParser)来解析您的实体。
JsonParser jsonParser = new JsonParser();
String responseEntity = jsonParser.parse(response.readEntity(String.class));
之后,对于每个请求,您需要将 X-Auth-Token 应用于 REST header ,以便对服务进行身份验证。
jerseyInvocation.header("X-Auth-Token",token);
关于java - 如何让RESTful java客户端在Openstack上发送GET/POST请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37343072/
我有一个 openstack私有(private)云部署在我的组织中。我有一些 虚拟图像 比如通过openstack仪表板上传的ubuntu图像、windows图像。但我想知道图像存储位置在 open
我感兴趣如何向其他应用程序通知 openstack 中的事件。例如,我不想在我的应用程序中知道 nova 中的实例何时被挂起或恢复。是否有任何网络钩子(Hook)或类似的东西我可以在哪里获取该信息?
我在 CentOs VM 上安装了 Openstack,当我尝试查看已启动实例的列表时,出现此错误 $ openstack server list Ignoring domain related co
在我的本地机器上使用 CreateObjectFromFile 方法将文件上传到机架空间云时,虽然没问题。但是当我从客户端机器执行此操作时,我得到 net.openstack.Core.Excepti
我正在通过 this 在我的本地机器上安装 OpenStack关联。但是我无法从本地计算机中完全删除已安装的组件。我运行了以下命令:- $ sudo ./unstack.sh tgtadm: can'
当我向 OpenStack-ansible 添加新的计算节点时,一切似乎都正常,但无法在其上创建任何实例 NoValidHost: No valid host was found. There are
我需要将一些字节附加到存储在 Openstack Swift 中的现有对象,例如日志文件对象,并不断向其附加新日志。这可能吗? 此外,我可以将一些字节(指定偏移量和长度)更改(覆盖)到现有对象吗? 最
我目前正在研究 OpenStack,并想了解可用于调试在 VM 上运行时出现的不同问题的开发环境。通过开发环境,我指的是可以帮助我理解 OpenStack 的功能和调用流程的 IDE。我在我的机器上安
OpenStack“Heat”的编排引擎可以部署计算资源和配置软件,称为 HOT 模板。 github 上有很多例子: https://github.com/openstack/heat-templa
如何重新启动使用 devstack 安装的特定 openstack-service? 最佳答案 重新加入堆栈屏幕为 ./rejoin-stack.sh 并使用 ctrl+a+"移动到指定的服务页面,然
我已经使用 devstack 安装了开放堆栈。推出了 ciros 镜像。我可以从 VNC 控制台连接到该实例,但无法 ping 到该实例。 最佳答案 您应该将安全组配置为允许传入 ICMP (ping
我尝试使用 Terraform 创建 OpenStack 实例,但收到以下错误: Error applying plan: 1 error(s) occurred: * openstack_compu
有人知道获取用户租户列表的方法吗?我知道我可以获得租户的用户,我可以获得所有租户的列表,所以从技术上讲,我可以遍历所有租户并寻找特定用户,但这似乎是一种麻烦的方法。 最佳答案 不知道 keystone
我是 OpenStack 的新手,我需要更改当前设置为 80 的 dashboard(horizon) 的默认 http 端口。我已经使用 devstack 脚本安装/部署了 OpenStack。
也许我的问题没有意义,但这就是我想要做的: 我有一个运行在 CoreOS 上的裸机 Kubernetes 集群。 我正在尝试使用 Cinder 从 OpenStack 云提供商挂载块存储。 根据我的阅
我想用 microStack 设置一个多节点 OpenStack,但它总是失败。 我正在关注这个:https://ubuntu.com/openstack/install#multi-node-dep
注意:我看到这个问题和错误被发布在不同的论坛和这里,但没有一个对我有用,它们属于 openstack 的早期版本。所以,我发布了一个新问题。 我一直在根据其安装文档设置 OpenStack Train
我是 openstack heat 文件的新手。我进行了搜索,但没有找到与我的问题相关的答案。这是我的模板热 yaml 文件: heat_template_version: newton descri
按照文档的步骤 http://docs.openstack.org/developer/swift/overview_large_objects.html 我成功地放入了 3 个段文件和 1 个 li
如何配置 OpenStack SWIFT 以发送所有适当的 CORS header 以响应客户端的 OPTIONS 请求?我知道 SWIFT 管道的跨域插件,但文档只说允许如下内容: [filter:
我是一名优秀的程序员,十分优秀!