gpt4 book ai didi

java - 带有用户名和密码的 JsonObjectRequest

转载 作者:行者123 更新时间:2023-12-02 09:36:03 25 4
gpt4 key购买 nike

我在 Xamarin 中使用用户名和密码获取 JSON,一切正常,但现在我尝试学习 Android SDK,我想使用 JsonObjectRequest 获取 JSON。

在 Xamarin 中它可以使用此代码,因此我正在 Android 中寻找相同的东西

   var response = await new HttpClient(
new HttpClientHandler(){
Credentials = new NetworkCredential(user, password),
}).GetStringAsync(url);
var products = JsonConvert.DeserializeObject<NodeInfo[]>(response);
}

在 Android 中我尝试了一下并得到了 JSON。

        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {

}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

error.printStackTrace();
}
});

但现在我需要像在 Xamarin 中一样获得 JSON 许可,有人可以给我建议吗?

最佳答案

您需要重写JsonObjectRequestgetHeaders()函数:

JsonObjectRequest request = new JsonObjectRequest(Method.GET, url, JSONObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//handle response here
}}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//handle error here
}}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
String credentials = "username:password";
String auth = "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);
headers.put("Content-Type", "application/json");
headers.put("Authorization", auth);
return headers;
}
}

关于java - 带有用户名和密码的 JsonObjectRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57506641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com