zoukankan      html  css  js  c++  java
  • UrlConnection的代理和返回状态码的问题

    今天写了一段代码想在service里访问一个外部网站,在service的方法里写了如下代码

    System.setProperty("http.proxyType", "4");
    System.setProperty("http.proxyPort", port);
    System.setProperty("http.proxyHost", host);
    System.setProperty("http.proxySet", "true");
    
    URL url = new URL(hurl);
    HttpURLConnection con  = (HttpURLConnection)url.openConnection();
    con.setConnectTimeout(100000);
    con.connect();
    int  state = con.getResponseCode();

    结果一直报连接超时,后来将设置代理的代码移动到control层后就可以正常访问了,不知是何原因,这里做个记录。

    还有在用上面的代码测试访问中国天气网的上海天气预报的页面时,我把url加了些字符让它变成错误的url发现程序返回的状态码依然是200,而用浏览器访问则有如下情况:

    用google浏览器监测了一下发现总共发出了2个网页请求,第一个请求是我主动发起的,返回的结果是302,然后客户端又主动访问了服务器的404页面???

    如果是这样的话java代码应该是获取到302状态码的那个页面,但是实际实际读取网页的流后发现是后面这个404页面,这是一个很奇怪的问题。

    如果是服务器端的跳转那我浏览器就不应该出现2个请求了哈....  无解啊

  • 相关阅读:
    JPA的一对一映射
    JPA的查询语言—JPQL的命名查询@NamedQuery
    JPA的persistence.xml文件
    JPA的主键产生策略
    JPA的查询语言—JPQL的简单查询
    Oracle Flashback救急了一回
    JPA的实体
    JPA的一对多映射(双向)
    JPA的一对多映射(单向)
    MySQL 主从同步操作文档
  • 原文地址:https://www.cnblogs.com/yangzhilong/p/3781501.html
Copyright © 2011-2022 走看看