java 访问https的远程json数据

fly0528 2012-05-17 07:32:11
本人要从国外一网站上获取相关的数据信息,并找到了该信息的json数据的地址,是https的。
由于js不能跨域获取,所以写了一个java来读取该页面内容,在本地实施没有问题,IE等浏览器均能直接打开并显示此地址中的json数据字符串。
问题来了,等部署到服务器上的时候却连接超时,无法获取,在服务中通过IE访问该地址后,弹出下载提示,要求下载。
这个json的数据地址发给了几个同事,有的可以打开,有的也是提示下载,其中包括已经安装jdk和没有安装jdk的机器,都出现了提示下载和直接打开的问题,所以怀疑是服务器某个设置有问题导致,请各位大侠帮帮忙。
很急的问题,在线等。谢谢啦!!!!!
...全文
416 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ladybirds2008 2012-05-18
  • 打赏
  • 举报
回复
浏览器 不同而定的。。。但最主要的是你的Socket 阻塞了,会出现超时问题,客户端获取的时候由于发送包发出去后,流阻塞了,没有读取到数据,所以超时了。。当然你也得不到数据,也就是说,数据根本就没有获取到客户端,抓包可以看到。。
  • 打赏
  • 举报
回复
++浏览器直接打开json数据或者下载json数据是和浏览器对json的支持来决定的吧,一般谷歌浏览器直接打开,IE默认好像是下载的。要是想所有都下载,那你把json当成附件写出去吧。[Quote=引用 3 楼 的回复:]

你想一下本地实施是怎么实施的 我想问一下 你在本地是怎么访问这个https的呢 部署到服务器上就是把项目发布上去了 我觉得会不会是服务器的那边网络原因导致 查一下网络有没有限制什么的 我觉得你因该好好分析一下这2个原因 因为我没有做过你这个项目 也不好随便说 值能给你一个参考吧
[/Quote]
对java有感觉 2012-05-17
  • 打赏
  • 举报
回复
你想一下本地实施是怎么实施的 我想问一下 你在本地是怎么访问这个https的呢 部署到服务器上就是把项目发布上去了 我觉得会不会是服务器的那边网络原因导致 查一下网络有没有限制什么的 我觉得你因该好好分析一下这2个原因 因为我没有做过你这个项目 也不好随便说 值能给你一个参考吧
fly0528 2012-05-17
  • 打赏
  • 举报
回复
错误信息如下:
exception

org.apache.jasper.JasperException: java.net.ConnectException: Connection timed out: connect
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:460)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


root cause

java.net.ConnectException: Connection timed out: connect
java.net.PlainSocketImpl.socketConnect(Native Method)
java.net.PlainSocketImpl.doConnect(Unknown Source)
java.net.PlainSocketImpl.connectToAddress(Unknown Source)
java.net.PlainSocketImpl.connect(Unknown Source)
java.net.SocksSocketImpl.connect(Unknown Source)
java.net.Socket.connect(Unknown Source)
com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:82)
org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:127)
org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
com.rft.util.GetHtml.getHtmlToStr(GetHtml.java:46)
org.apache.jsp.getICEJson_jsp._jspService(getICEJson_jsp.java:67)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

fly0528 2012-05-17
  • 打赏
  • 举报
回复
补充一下,服务器是 windows2008 server R2

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧