跨域访问解决办法之java网络编程

Sat Oct 11 22:35:11 CST 2008发表于JavaEye博客

作者: daoger  链接: http://daoger.javaeye.com/blog/251699  发表时间: 2008年10月11日

声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!

颓废了很长时间,还是心态问题!


项目中有不少地方需要跨域访问接口,读取接口的返回值进行操作。其中一个就是给用户手机发送短信,考虑用ajax实现,
开始时在IE下测试都正常,可是在firefox下怎么都不行,查了查资料才知道firefox的安全机制比 IE严格,不允许跨域访问。
在页面中嵌入iframe标签来尝试加载跨域页面的内容也是一样不行,firefox下iframe中的内容可以显示,但是无法用js获得iframe中内容,
自然也就无法用代码判断跨域操作的返回结果。有大牛说可以直接用ajax实现访问跨域地址,这里不做讨论,日后再议。
经心境悠扬同学点拨,java网络编程就可以解决问题。可以在后端处理中访问跨域的链接地址,获取返回结果。这里是在心境同学例子基础
上稍加修改后的代码,贴出来做个备份。

public class ThirdInterfaceImp implements ThirdInterface
{
    Log log = LogFactory.getLog(getClass());
    static String smsurl = "http://www.xxx.com/xxx.jsp";

    public String sendShortMessage(String smsSrc, String mobileNo)
    {
        String line="";
        StringBuffer sb = new StringBuffer();
        try
        {
            URL u = new URL(smsurl);
            URLConnection uc = u.openConnection();
            uc.setDoOutput(true);
            //
            PrintWriter out = new PrintWriter(uc.getOutputStream());
            out.print("smsSrc=" + smsSrc + "&mobileNo=" + mobileNo);
            out.close();
            
            BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
            
            while ((line = in.readLine()) != null)
                sb.append(line + "\n");
            in.close();
        } catch (Exception e)
        {
            log.error(e);
        }
        return new String(sb);
    }
}
 

jquery好像可以直接实现跨域访问的操作,但这个没有证实。


已有 0 人发表留言,猛击->> 这里<<-参与讨论


JavaEye推荐



阅读全文...
 
本站相关内容:(RSS)

github不能访问的解决办法


作者: qichunren  链接: http://ubuntu.javaeye.com/blog/256244  发表时间: 2008年10月22日

声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!

这些天来,github.com一直都不能访问,我还以为是它的服务器的不稳定导致的,而且大家都没有反应,我就没有怎么在意这个了,只能每天试一下,看能不能看打开 github.com
哎,没有github,寻找ruby和rails方面的资源还真是非常非常不方便啊,那么多的开源的产品都是放在github上面的。

今天 我用 https://www.megaproxy.com/freesurf/这个来访问github.com,居然可以访问了,真是太高兴了,以回到从前的状态。

另外,我想不通的是为什么github.com会被封的呢?明白人给个解释吧。
已有 0 人发表留言,猛击->> 这里<<-参与讨论


JavaEye推荐



XP下IE7访问HTTPS网页故障解决办法

默认情况我们在XP系统下通过XP版本的IE7浏览器访问https加密的站点都会出现“此网站的安全证书有问题,该网站提供的安全证书不是由受信任的证书办法机构颁发的,安全证书问题可能显示试图欺骗您或截获您向 ...

JBOSS只能用localhost或127.0.0.1访问的解决办法


作者: yourenyouyu2008  链接: http://yourenyouyu2008.javaeye.com/blog/259653  发表时间: 2008年10月29日

声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!

今天配置了一下新版本的JBOSS,启动后发现只能使用localhost访问了,ip访问不到,查找了一下发现,4.2以上的版本不对所有本机ip进行监听了,解决办法是增加启动参数-b 192.168.x.x或-b 0.0.0.0,或者增加Djboss.bind.address=0.0.0.0参数,或者修改jboss\server\default\deploy\jboss-web.deployer\server.xml里的Connector 下面的address,把变量改成对应的IP或者0.0.0.0。


已有 0 人发表留言,猛击->> 这里<<-参与讨论


JavaEye推荐



Jboss 4.2.2.GA启动后只能从本机访问,不能从远程访问的解决办法

在Redhat AS 4服务器(多网卡)上安装Jboss 4.2.2 GA后,只能从本地地址localhost或127.0.0.1访问80或8080端口,也即http://127.0.0.1,而不能使用本机的公网地址访问http://www.yeeach.com 开始以为是iptables防火墙的问题,修改了防火墙策略,还是不行。用netstat –na|grep 80 参看,发现绑定到127.0.0.1上: tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 因此应该是jboss启动时候绑定到了本地回路(Local Loopback )lo网卡上,修改方法如下: 修改jboss-4.2.2.GA/server/default/deploy/jboss-web.deployer/server.xml,将 1、将8080修改为80 2、将${jboss.bind.address}修改为0.0.0.0,允许从eth0,eth1,lo都能够访问jboss 80端口

Java读取文件中含有中文的解决办法[转]

作者:beyondii  :           折磨了一天的问题,终于在黄昏的时候解决了,现在一吐为快。     众所周知,java的中文问题一直是一个老大难的问题,这个现象可以在csdn中java论坛里关于中文乱码的提问率就可以了解到,甚至软件巨人IBM专门开辟了一个解决中文问题的专区,作为一个俗人(一直梦想希望想金凯利那样成为一个“冒牌天神” ... ),将原有的资源转到Java平台上来是我当前的一个重要任务之一,说到这里,不得不承认.net对中文问题解决的很好,虽然偶尔也会出现乱码。     问题是这样的,我的box(http
互联网相关内容:
github不能访问的解决办法 (2008年10月22日)
XP下IE7访问HTTPS网页故障解决办法 (2008年04月22日)
JBOSS只能用localhost或127.0.0.1访问的解决办法 (2008年10月29日)
Jboss 4.2.2.GA启动后只能从本机访问,不能从远程访问的解决办法 (2008年05月12日)
Java读取文件中含有中文的解决办法[转] (2007年07月22日)
PHP和JAVA的XML-RPC中文问题解决办法 (2007年10月17日)
更新XP后,JAVA获取时间出错的解决办法 (2008年06月09日)
java.lang.OutOfMemoryError 的解决办法 (2008年01月09日)
JMF和MIDI冲突的解决办法 (2007年09月24日)