发送http失败 报错 The server xxx failed to respond

调用第三方接口postman可以请求成功,但是用代码请求失败

1、发送http post请求 x-www-form-urlencoded 代码如下:

public static String sendPostxXWwwFormUrlencoded(String url, String param) {
        try {
            PostMethod postMethod = null;
            postMethod = new PostMethod(url);
            postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            postMethod.setRequestHeader("Connection", "keep-alive");
            postMethod.setRequestHeader("contentType", "utf-8");
            //参数设置,需要注意的就是里边不能传NULL,要传空字符串
            NameValuePair[] data = {
                    new NameValuePair("imageURL", param)
            };
            postMethod.setRequestBody(data);
            org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
            //设置超时时间
            httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
            httpClient.getHttpConnectionManager().getParams().setSoTimeout(5000);
            // 执行POST方法
            int response = httpClient.executeMethod(postMethod);
            String result = postMethod.getResponseBodyAsString();
            log.info("recv - {}", result);
            return result;
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } catch (Exception e) {
            log.info("请求异常" + e.getMessage(), e);
            throw new RuntimeException(e.getMessage());
        }
        return "";
    }

2、POSTMAIN请求如下:
在这里插入图片描述
原因是因为第三方接口开始返回时没有响应头没有返回对应的Content-Type
3、解决办法,要求第三方接口在响应头加上对应的Content-Type就可以响应了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值