我正在使用 Volley 发出字符串请求。这是错误:
basicNetwork.performRequest: Unexpected response code 503 for http://...
问题不在于网址。我已经检查过了。 url 是一些 XML 的地址,如下所示:
<config>
<Request name="ValidateEmailRequest">
<requestqueue>emailrequest</requestqueue>
<responsequeue>emailresponse</responsequeue>
</Request>
<Request name="CleanEmail">
<requestqueue>Cleanrequest</requestqueue>
<responsequeue>Cleanresponse</responsequeue>
</Request>
</config>
这是我的请求代码:
StringRequest myReq = new StringRequest(
Request.Method.GET,
url,
new Response.Listener<String>()
{
/** On response **/
@Override
public void onResponse(String response) {
processData(response);
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
// handle error response
}
});
是我的请求队列有问题吗?我正在从不同的类向同一个静态请求队列发出多个请求,但直到现在这还不是问题。
例如
MyOtherClass.getRequestQueue();
//Request code for this class...
MyOtherClass.RequestQueue.add(myRequest);
编辑
我的网址有效。它们很快就会过期,因为它们已签名,但无论如何,这里有一个。
最佳答案
HTTP 错误 503 - 服务不可用
这意味着 networkResponse 为空,因为在 TimeoutError 中没有从服务器接收到数据。
您还可以通过以下代码检查错误类型。
感谢 Submersed。
@Override
public void onErrorResponse(VolleyError error) {
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
Toast.makeText(context,
context.getString(R.string.error_network_timeout),
Toast.LENGTH_LONG).show();
} else if (error instanceof AuthFailureError) {
//TODO
} else if (error instanceof ServerError) {
//TODO
} else if (error instanceof NetworkError) {
//TODO
} else if (error instanceof ParseError) {
//TODO
}
关于android - Volley 字符串请求的意外响应代码 503(使用 Amazon Web Service),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34349428/