sách gpt4 ai đã đi

HTTP Post với Volley --- XML ​​Post, JSON Response

In lại Tác giả: Data Little Sun Thời gian cập nhật: 2023-10-29 02:34:02 33 4
mua khóa gpt4 Nike

Tôi đang cố gắng thực hiện lệnh gọi API và API yêu cầu định dạng phải là XML:

 
Bảo mật
LấyThông Tin Phiên
9999999999999



0
2
{
"sessionGUID":"999999999999999"
}


Nhưng nó JSON Định dạng gửi cho tôi kết quả. Tôi đã cố gắng sử dụng Bóng chuyền Để thực hiện điều này:

        RequestQueue mRequestQueue = RequestQueueSingleton
.getInstance(this.getApplicationContext())
.getRequestQueue();

Chuỗi targetURL = "http://api.myurl.com";

StringRequest postRequest = new StringRequest(Request.Phương pháp.POST, targetURL,
Phản hồi mới.Listener() {
@Ghi đè
public void onResponse(String response) {
userGUID = phản hồi;


}
}, Phản hồi mới.ErrorListener() {
@Ghi đè
công khai void onErrorResponse(lỗi VolleyError) {
lỗi. printStackTrace();
}
}) {
@Ghi đè
được bảo vệ Bản đồ getParams() ném AuthFailureError {
Bản đồ parms = new HashMap< >();
JSONObject jsonRequest = new JSONObject();
thử {
jsonRequest.put("sessionGUID", sessionGUID);
} bắt (JSONException e) {
e.printStackTrace();
}
parms.put("yêu cầu dữ liệu",
getXML(BẢO MẬT, GET_SESSION_INFO, "", sessionGUID, "", null, jsonRequest));
trả về tham số;
}
};
postRequest.setTag("ĐĂNG");
System.out.println("chúng tôi đã thử sử dụng Volley");
mRequestQueue.add(postRequest);


Với các phương thức GetXML tham chiếu như sau:

public String getXML(String subject, String request, String userGUID, String sessionGUID,, Date lastUpdateDate, JSONObject params) {
StringBuilder stringBuilder = new StringBuilder();
Chuỗi ngày;
nếu (lastUpdateDate == null) ngày = "";
nếu không thì ngày = lastUpdateDate.toString();
stringBuilder.append("\n " + chủ đề + "\n")
.append("" + yêu cầu + "\n ")
.append("" + sessionGUID + "\n")
.append("" + userGUID + "\n")
.append("" + "" + "\n ")
.append("" + ngày + "\n ")
.append("0\n" + "2\n")
.append("" + parms.toString() + "\n" + "
");

Kết quả chuỗi = stringBuilder.toString();
System.out.println(kết quả);
trả về kết quả;
}

Tôi không chắc chắn tôi Bóng chuyền Có vấn đề gì với cách tôi sử dụng hay là thư viện không hỗ trợ những gì tôi đang cố gắng thực hiện? Tôi đang nghĩ rằng tôi có thể cần phải triển khai một loại yêu cầu tùy chỉnh gửi một XML Chuỗi và trả về một JSON đối tượng, nhưng việc thiếu tài liệu tương đối khiến tôi không chắc chắn phải làm thế nào. Bất kỳ sự giúp đỡ nào cũng sẽ được đánh giá cao, và xin lỗi vì bài viết này quá dài!

1 Câu trả lời

Trong bóng chuyền có một cách để gửi một cơ thể tùy chỉnh. Điều này được thực hiện bằng cách ghi đè getBody(). Bạn không cần phải ghi đè getParams(). Thay vào đó hãy thay thế hàm getParams() của bạn bằng đoạn mã sau.

 @Ghi đè
public byte[] getBody() ném ra lỗi AuthFailureError {
JSONObject jsonRequest = new JSONObject();
thử {
jsonRequest.put("sessionGUID", sessionGUID);
} bắt (JSONException e) {
e.printStackTrace();
}
Thân chuỗi = getXML(SECURITY, GET_SESSION_INFO, "", sessionGUID, "", null, jsonRequest));
trả về body.getBytes();
}

Liên quan đến Android - Xuất bản HTTP với Volley --- Xuất bản XML, phản hồi JSON, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/37753288/

33 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com