java - 将 Curl 命令转换为 Java/Android

标签 java api curl basic-authentication apache-httpclient-4.x

我正在开发两个应用程序 -

第一个是使用 Spring MVC 3 的 Web 应用程序

第二个是同一 Web 应用程序的 Android 应用程序。

在这两个项目中,我都集成了基本身份验证,以使用 API 对该网站上的用户进行身份验证。

在API教程中,给出了以下curl命令来验证用户 -

$curl -u 用户名:密码 insert_Url_here -d '[此处 xml 正文]'

我不明白如何在 Java 和 Android 代码中转换此命令。

请指导我。我完全被困在这里了。

最佳答案

使用 HttpClient 4,您需要执行以下操作:

  • 创建客户端:

CloseableHttpClient client = HttpClientBuilder.create().build();

  • 创建 POST 请求:

final HttpPost postRequest = new HttpPost(SAMPLE_URL);

  • 设置 POST 请求的正文:

request.setEntity(new StringEntity("the body of the POST"));

  • 配置身份验证(可能是基本身份验证):

UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password);

postRequest.addHeader(new BasicScheme().authenticate(creds, request, null));

就是这样 - 这本质上就是您的 curl 命令的作用。

希望这有帮助。

关于java - 将 Curl 命令转换为 Java/Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20782140/

相关文章:

iphone - 为 Objective C 转换 CURL 命令

php - 无法从 Reckon API 获取 token - 返回 SSL 错误

java - jdk1.8 GLIBC 依赖问题

javascript - 以编程方式获取无线接入点列表

java - 如何使用java在elasticsearch中搜索JSON字段?

api - 谷歌云视觉 API "Bad image data"错误

api - 短信休息服务?

php - 查看带有 POST 数据的 cURL 请求 header

java - 将三个表内连接到 java DTO

java - 如何仅在java中获取特定标签的Jsoup消息?