- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang sử dụng POST phía máy khách Apache HttpComponents cho máy chủ trả về JSON. Vấn đề là nếu máy chủ trả về lỗi 400, tôi dường như không thể biết rằng lỗi đó đến từ Java (cho đến nay tôi đã phải dùng đến trình thám thính gói - thật lố bịch). Đây là mã:
HttpClient httpclient = new DefaultHttpClient();
params.add(new BasicNameValuePair("format", "json"));
params.add(new BasicNameValuePair("foo", bar));
HttpPost httppost = HttpPost mới(uri);
// đây là cách bạn đặt nội dung của yêu cầu POST
httppost.setEntity(UlEncodedFormEntity mới(params, "UTF-8"));
Chuỗi phản hồiBody = "";
thử {
// Tạo trình xử lý phản hồi
ResponseHandler replyHandler = new BasicResponseHandler();
replyBody = httpclient.execute(httppost, replyHandler);
} bắt(HttpResponseException e) {
Lỗi chuỗi = "lỗi không xác định";
if (e.getStatusCode() == 400) {
// TODO replyBody và e.detailMessage ở đây là null,
// mặc dù việc đánh hơi gói tin có thể phát hiện ra phản hồi như
// Mã hóa chuyển giao: chunked
// Kiểu nội dung: application/json
//
// 42
// {"error": "Bạn không có quyền thực hiện thao tác này."}
error = new JSONObject(responseBody).getString("error"); // không hoạt động
}
// e.getMessage() là ""
}
Tôi đã làm gì sai? Phải có một cách dễ dàng để nhận được thông báo lỗi 400. Đây là cơ bản.
câu trả lời hay nhất
Tại sao nên sử dụng BasicResponseHandler()? Người xử lý đang làm việc này cho bạn. Trình xử lý này chỉ là một ví dụ và không nên được sử dụng trong mã thực.
Bạn nên viết trình xử lý của riêng mình hoặc thực hiện cuộc gọi mà không cần trình xử lý.
例如,
Phản hồi httpResponse = httpClient.execute(request);
int statusCode = reply.getStatusLine().getStatusCode();
Thực thể HttpEntity = reply.getEntity();
phản hồiBody = thực thể.getContent();
if (Mã trạng thái != 200) {
// replyBody sẽ có phản hồi lỗi
}
Về java - Làm cách nào tôi có thể nhận được lỗi thực tế đằng sau HttpResponseException? , 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/1490341/
Tôi đang cố gắng ném một HttpResponseException(HttpStatusCode.NotFound) và tôi nhận được lỗi sau Thông báo phản hồi được trả về bởi th
Tôi đang viết một phương pháp thử nghiệm đơn vị để thực thi mã, trong điều kiện thử nghiệm của tôi, dự kiến sẽ đưa ra một HttpResponseException với một thông báo phản hồi cụ thể. Phần có liên quan trong mã phương pháp thử nghiệm của tôi trông như thế này: try { MyCla
Tôi đang làm theo hướng dẫn của Badrinarayan Lakshmiraghavan trong "API Web ASP.NET thực tế". Tôi nghĩ điều này cho thấy rằng một số trường hợp ngoại lệ có thể được sử dụng để chuyển đổi loại "404 - Không tìm thấy"
Tôi đang sử dụng POST phía máy khách Apache HttpComponents cho máy chủ trả về JSON. Vấn đề là nếu máy chủ trả về lỗi 400, tôi dường như không thể biết rằng lỗi đó đến từ Java (cho đến nay tôi đã phải dùng đến dữ liệu
Tôi đang cố gắng trả lại mã trạng thái bằng cách ném new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Unauthorized
Tôi đang cố gắng ném một HttpResponseException như được mô tả trong video màn hình này (khoảng 1 phút) ném HttpResponseException(HttpStatusCode.Unau) mới
Tôi đang gặp sự cố lớn khi xử lý lỗi trong webAPI MVC 4. Ở đây, tôi muốn xác thực yêu cầu đến và gửi lại phản hồi BadRequest. Đối với điều này, tôi đang sử dụng mã công khai Product GetProduct
Tôi đã tạo một bộ lọc ngoại lệ cho hành động Bộ điều khiển API Web của mình nhưng dường như nó không làm gì cả (mặc dù nó được gọi). Thuộc tính lớp công khai ExceptionHandlerAttrib
Nếu xảy ra lỗi, tôi nhận được HTTPResponseException từ dịch vụ REST mà tôi gọi. Tôi muốn lấy thông tin chi tiết về thông báo lỗi từ nó để có thể xử lý cho phù hợp. Cách trích xuất HTTPResponseExcept được trả về
Tôi đã cố gắng hiểu cả hai và viết mã mẫu: public HttpResponseMessage Get() { var reply = ControllerContext.Request
Tôi đang sử dụng Apache HttpComponents (4.5.11) để kiểm tra API Web. Đối với thử nghiệm tiêu cực (như gửi yêu cầu xấu), tôi cũng muốn kiểm tra nội dung phản hồi, nhưng CloseableHttpClient
Tôi có một lớp: public class ApiExceptionFilterAttribution : ExceptionFilterAttribution,IExceptionFilter {
Cách trả về Ngoại lệ yêu cầu không hợp lệ với văn bản như "Tên người dùng không hợp lệ" cho giao diện người dùng trong ApiController. Mã của tôi: lớp công khai FrontEndController : ApiController
Nguồn gốc của sự cố của tôi là đoạn mã sau, là một phần của đoạn mã có trong tài liệu của Microsoft về xử lý ngoại lệ trong api web asp.net: var resp = new HttpRe
Tôi có mã này trong phương thức xử lý yêu cầu của ApiController: if (uri != null) { HttpResponseMessage r =Request.CreateRespons
Sau khi nhận xét về bài viết Xử lý ngoại lệ trong API Web ASP.NET, tôi hơi bối rối về việc khi nào nên ném ngoại lệ và trả về phản hồi lỗi. Tôi cũng đang tự hỏi khi nào phương thức của bạn trả về một mô hình miền cụ thể thay vì HttpResponseM
Lấy từ http://www.asp.net/web-api/overview/web-api-routing-and-actions/Exception-handling HttpResponseExc
Đầu tiên, tôi gặp phải vấn đề này, trong InsertAsync, giá trị của requestStatus không thể được chuyển từ máy khách sang Dịch vụ di động, giá trị sẽ được xử lý ở dạng null (Máy khách - Ứng dụng di động) (Máy chủ - A
Trong ứng dụng của mình, tôi đang sử dụng http để gửi thông tin người dùng đến máy chủ như hiển thị bên dưới. Tôi nhận được org.apache.http.client.HttpResponseException: Not Found Tôi phải mất nhiều thời gian hơn
Tôi đang viết Bộ điều khiển api trong ASP 5. Tôi muốn trả về ngoại lệ mã yêu cầu không hợp lệ nếu các tham số được truyền tới dịch vụ không chính xác. Trong phiên bản webapi hiện tại, tôi sẽ làm điều này: ném HttpR mới
Tôi là một lập trình viên xuất sắc, rất giỏi!