当前位置: 首页 > 知识库问答 >
问题:

Volley字符串请求的意外响应代码503(使用Amazon Web Service)

戚正业
2023-03-14

我正在使用Volley进行字符串请求。以下是错误:

基本网络。performRequest:的意外响应代码503http://...

问题不在于url。我已经检查过了。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);

编辑

我的URL正在工作。它们很快就会到期,因为它们已经签署,但无论如何,这里有一个。

http://webservices.amazon.com/onca/xml?AWSAccessKeyId=AKIAJ6L6R4KOPIYIUXUA

共有2个答案

康元凯
2023-03-14

我认为我的问题是我在同一时间对亚马逊上的同一个产品图像提出了太多的请求。一旦我将请求的数量限制在同一个产品图像上,我就停止接收503错误。

束雅达
2023-03-14

HTTP错误503-服务不可用
这意味着网络响应为空,因为在TimeoutError中没有从服务器接收到数据。

您还可以从以下代码中检查错误类型。
感谢淹没。

@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- BasicNetwork.performRequest:意外的响应代码400和意外的响应代码404凌空,但在我的情况下它们都不起作用。这是我的请求代码 有谁能告诉我我的代码在哪里做错了?任何帮助都是可观的。 问题答案: 通常,此响应是由发送错误的URL参数引起的。请检查每个参数的拼写,并确保是否以字符

  • 问题陈述: 我正在尝试访问一个REST API,它将使用Volley返回一个用于各种HTTP状态代码(400、403、200等)的JSON对象。

  • 我正在尝试创建一个用户登录页面,当我尝试注册时,我得到了这个错误。我想Json对象部分有问题。我尝试在论坛中搜索其他答案,但似乎都没有解决我的问题。请求你帮我解决这个问题。谢谢是提前的。 我的原木猫

  • 问题内容: 我正在对旧项目进行更新,到目前为止,我对Android的了解不多。在项目中,我们有关于产品的评论部分。 对于较早发送后的评论,我们返回0(某些错误)和1(成功)。 下面是我们正在使用的代码。 现在,我们将返回对象从0/1更改为用户对象。 是否需要将JsonObjectRequest更新为GJSON请求?否则对象也会被JsonObjectRequest解析? 我问是因为当我在上面执行时,

  • 我正在更新旧项目 在早些时候发送后,我们返回了0作为注释(某些错误) 下面是我们使用的代码。 现在我们已经将返回对象从0/1更改为用户对象。 是否需要将JsonObjectRequest更新为GJSON请求?或者对象也会被JsonObjectRequest解析? 我这样问是因为当我执行上面的命令时,我得到的错误如下。 知道我为什么会出现这个错误吗? 注意:此URL对于iPhone应用程序运行良好。