如何使用java的HTTPS请求进行授权?

时间:2017-01-18 11:55:18

标签: java https authorization httprequest

我需要通过https连接到API,但需要授权。
我有登录名和密码,但不知道如何将其转移到https。

我尝试使用以下代码的代码(来自另一个SO帖子):

public class TestHTTPSRequest {
public static void main(String[] args) throws Exception {
    URLConnection connection = new URL("https://smartcat.ai/api/integration/v1/account").openConnection();

    InputStream is = connection.getInputStream();
    InputStreamReader reader = new InputStreamReader(is);
    char[] buffer = new char[256];
    int rc;

    StringBuilder sb = new StringBuilder();

    while ((rc = reader.read(buffer)) != -1)
        sb.append(buffer, 0, rc);

    reader.close();

    System.out.println(sb);
}
}

2 个答案:

答案 0 :(得分:0)

请尝试使用HTTPClient。您可以轻松连接到https网址。

此外,如果它是一个安全的URL你需要一些安全标题他们可以

1>身份验证令牌或任何其他令牌

2 - ;为了CSRF保护,您可能需要一些其他令牌

请浏览API的文档

答案 1 :(得分:0)

杰克杰伊的链接有所帮助。以下方法对我很有用:

df1 = df.groupby(['ID','Type']).size().unstack(fill_value=0)
print (df1)
Type  TypeA  TypeB
ID                
1         1      2
2         2      0
3         0      1

df2 = df1.TypeB.div(df1.sum(axis=1)).mul(100)
print (df2)
ID
1     66.666667
2      0.000000
3    100.000000
dtype: float64

df['percentage'] = df.ID.map(df2)
print (df)
   ID   Type  percentage
0   1  TypeA   66.666667
1   1  TypeB   66.666667
2   1  TypeB   66.666667
3   2  TypeA    0.000000
4   2  TypeA    0.000000
5   3  TypeB  100.000000