最近一个项目,需要和另外一个团队合作。他们提供了一个接口,我通过https协议,get方法拿数据。大概的形式是https://www.a.com?date=2015-01-08&location=SH (由于工作的原因,不方便透露真实地址)。正常情况下会得到一个带有数据的json 。现在遇到了一个问题。在我们公司的网络环境下,我访问这个地址,无法拿到正常的数据。返回的要么一个带有“访问失败”的json,要么就是一个空的response。
我和对方团队沟通,说明了我遇到的问题,但经他们测试,地址接口是正常的,他们的员工能够正常的访问。但在我们公司的网络情况下还是无法获取我想要的数据。我怀疑过是ip的问题,然后我挂上代理之后访问,还是不行。无论是通过浏览器访问还是直接再Java程序中访问,都不行。
在一次偶然的机会下,我发现了一个让我疑惑的现象,如果我把这个地址挂在别人的服务器上,然后通过链接去访问,就可以拿到正常的数据。打个比方:我现在再v2ex上发帖,我将那个链接地址发布在帖子中,然后预览我的帖子,点击这个链接,就可以获取正常的数据。
不好意思,可能我的描述比较乱。不知道有没有人对于我遇到的这个问题有解决的办法,或者方向,或者思路。谢谢
1
wengcan 2015-01-10 23:10:48 +08:00 1
http referer
|
2
EchosKK 2015-01-10 23:38:41 +08:00 1
我也觉得是http referer的问题,就是说必须要有一个来源页,可能他们那边有验证,如果你直接访问就不行。
|
3
mahone3297 2015-01-10 23:41:11 +08:00 1
发一个请求过去,找对方,看他们是否收到请求,然后是否返回,返回状态码,你这边再看你这边的请求返回信息
|
4
learnshare 2015-01-10 23:47:38 +08:00 1
整个请求/返回记录发一份给他,让他们看看问题是什么不就好了
|
5
esile 2015-01-11 02:47:58 +08:00 via iPhone 1
对方可能禁止了空referer,你自己伪造个试试
|