首页 新闻 搜索 专区 学院

同样一段代码,在本地运行好使,在云服务器运行不好使

0
悬赏园豆:200 [已解决问题] 解决于 2018-02-09 12:03

这是一个发送post请求的工具类,在本地可以正常获取到返回的数据,上传到服务器后,无法获取到数据,而且日志记录显示未发生异常
public static JSONObject doPost(String url,JSONObject json){
DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
JSONObject response = null;
try {
StringEntity s = new StringEntity(json.toString());
s.setContentEncoding("UTF-8");
s.setContentType("application/json");//发送json数据需要设置contentType
post.setEntity(s);
HttpResponse res = client.execute(post);
if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
String result = EntityUtils.toString(res.getEntity());// 返回json格式:
logger.info("result:"+result);
response = JSON.parseObject(result);
}
} catch (Exception e) {
logger.error("error:"+e.getMessage());
e.printStackTrace();
}
logger.info("请求结束");
return response;
}

杜晓洋的主页 杜晓洋 | 初学一级 | 园豆:55
提问于:2018-02-09 09:37

返回的状态码是多少?

dudu 2年前

@dudu: 404

杜晓洋 2年前

@dudu: 本地和服务器访问的网址都是一样的

杜晓洋 2年前
< >
分享
最佳答案
0

是对面服务器发生异常,然后直接给我返回的404

杜晓洋 | 初学一级 |园豆:55 | 2018-02-09 11:58
其他回答(4)
0

建议在服务上用 curl 命令测试一下

收获园豆:100
dudu | 园豆:38829 (高人七级) | 2018-02-09 09:52

囧,Windows服务器,说出来我都害羞⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 10:11

@杜晓洋: Windows上安装git bash就可以运行curl命令

支持(0) 反对(0) dudu | 园豆:38829 (高人七级) | 2018-02-09 10:12

@dudu: curl http://test.rm-tech.com.cn/platform/cloudplatform/api/trade.html
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 42 0 42 0 0 893 0 --:--:-- --:--:-- --:--:-- 893{"errMsg":"系统异常。","errCode":"1"}

正常返回数据

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 10:21

@杜晓洋: 可以在代码中将404的响应内容打印出来

支持(0) 反对(0) dudu | 园豆:38829 (高人七级) | 2018-02-09 10:31

@dudu: INFO:2018-02-09 10:56:26,320 - entityContentLength:0
ERROR:2018-02-09 10:56:26,320 - 请求错误:http://test.rm-tech.com.cn/platform/cloudplatform/api/trade.html--状态码:404
ERROR:2018-02-09 10:56:26,320 - 信息:
INFO:2018-02-09 10:56:26,320 - result :

1111111111

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 10:58

@dudu: 111111111是我后加的,要不评论不了,提示评论不可为空,这是博客园的一个小bug吧

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 10:59

@杜晓洋: 建议用WireShark抓包看看程序中究竟发出的是什么http请求

支持(0) 反对(0) dudu | 园豆:38829 (高人七级) | 2018-02-09 11:39

@dudu: 谢谢您的帮助,我已经解决啦,是对面服务器发生异常,然后直接给我返回的404

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 11:56
0

状态码404,建议从网络上找原因,服务器上ping一下那个url呢,或用POST工具测试一下那个url

收获园豆:20
nicky0227 | 园豆:1069 (小虾三级) | 2018-02-09 09:54

可以ping通

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 10:09

谢谢您的帮助,我已经解决啦,是对面服务器发生异常,然后直接给我返回的404

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 11:56
0

既然是404说明网络是通的

那么可能真的是404了

你看下是不是参数和本地使用的不一样

使用和本地完全一样的url测试一下才行

收获园豆:50
刘宏玺 | 园豆:14006 (专家六级) | 2018-02-09 10:01

地址和参数都一样,没什么区别,我比较了一下

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 10:10

@杜晓洋: 那么请参考一楼的回答

支持(0) 反对(0) 刘宏玺 | 园豆:14006 (专家六级) | 2018-02-09 10:11

@刘宏玺: 哦哦,好的,谢谢您来帮助我

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 10:22

谢谢您的帮助,我已经解决啦,是对面服务器发生异常,然后直接给我返回的404

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 11:56
0

404 错误是一个比较容易排查的错误了,服务器就算是Windows了怎么了,还有IE呢。

必须是一个愚蠢的错误,不需要在这儿问的,你只要停下来,静下心,就能找出问题所在的。

社区反而帮不上啥忙。

收获园豆:30
爱编程的大叔 | 园豆:30698 (高人七级) | 2018-02-09 11:08

我是去链接的别人的服务器,有原因我也不太好排查

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 11:11

@杜晓洋: 404 并不需要你拥有对方服务器得权限才能排查,毕竟你在开发机上是不会404的。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30698 (高人七级) | 2018-02-09 11:25

@爱编程的大叔: 谢谢您的帮助,我已经解决啦,是对面服务器发生异常,然后直接给我返回的404

支持(0) 反对(0) 杜晓洋 | 园豆:55 (初学一级) | 2018-02-09 11:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册