当前位置: 首页>>代码示例>>Java>>正文


Java HttpURLConnection.HTTP_MOVED_PERM属性代码示例

本文整理汇总了Java中java.net.HttpURLConnection.HTTP_MOVED_PERM属性的典型用法代码示例。如果您正苦于以下问题:Java HttpURLConnection.HTTP_MOVED_PERM属性的具体用法?Java HttpURLConnection.HTTP_MOVED_PERM怎么用?Java HttpURLConnection.HTTP_MOVED_PERM使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在java.net.HttpURLConnection的用法示例。


在下文中一共展示了HttpURLConnection.HTTP_MOVED_PERM属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkRedirect

private static URLConnection checkRedirect(URLConnection conn, int timeout) throws IOException {
    if (conn instanceof HttpURLConnection) {
        conn.connect();
        int code = ((HttpURLConnection) conn).getResponseCode();
        if (code == HttpURLConnection.HTTP_MOVED_TEMP
                || code == HttpURLConnection.HTTP_MOVED_PERM) {
            // in case of redirection, try to obtain new URL
            String redirUrl = conn.getHeaderField("Location"); //NOI18N
            if (null != redirUrl && !redirUrl.isEmpty()) {
                //create connection to redirected url and substitute original conn
                URL redirectedUrl = new URL(redirUrl);
                URLConnection connRedir = redirectedUrl.openConnection();
                // XXX is this neede
                connRedir.setRequestProperty("User-Agent", "NetBeans"); // NOI18N
                connRedir.setConnectTimeout(timeout);
                connRedir.setReadTimeout(timeout);
                if (connRedir instanceof HttpsURLConnection) {
                    NetworkAccess.initSSL((HttpsURLConnection) connRedir);
                }
                return connRedir;
            }
        }
    }
    return conn;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:NetworkAccess.java

示例2: handleRedirect

private static URLConnection handleRedirect(URLConnection urlConnection, int retriesLeft) throws IOException
{
    if (retriesLeft == 0)
    {
        throw new IOException("too many redirects connecting to "+urlConnection.getURL().toString());
    }
    if (urlConnection instanceof HttpURLConnection)
    {
        HttpURLConnection conn = (HttpURLConnection) urlConnection;

        int status = conn.getResponseCode();
        if (status == HttpURLConnection.HTTP_MOVED_PERM || status == HttpURLConnection.HTTP_MOVED_TEMP || status == HttpURLConnection.HTTP_SEE_OTHER)
        {
            String newUrl = conn.getHeaderField("Location");
            return handleRedirect(new URL(newUrl).openConnection(), retriesLeft - 1);
        }
    }
    return urlConnection;
}
 
开发者ID:goldmansachs,项目名称:jrpip,代码行数:19,代码来源:Libboot.java

示例3: linkIsReview

static boolean linkIsReview(String link)
{
    try
    {
        HttpURLConnection con = (HttpURLConnection) new URL(link).openConnection();
        HttpsURLConnection sslCon = (HttpsURLConnection) con;
        sslCon.setInstanceFollowRedirects(false);
        sslCon.connect();
        if(con.getResponseCode() == HttpURLConnection.HTTP_MOVED_PERM || con.getResponseCode() == HttpURLConnection.HTTP_MOVED_TEMP)
        {
            String newUrl = con.getHeaderField("Location");
            newUrl = "https://nl.trustpilot.com" + newUrl;
            con.disconnect();
            return true;
        }

    }
    catch (Exception ex)
    {
        System.out.println(ex);
    }
    return false;
}
 
开发者ID:Pverweij,项目名称:TrustPilotFinder,代码行数:23,代码来源:Main.java

示例4: isCacheable

/**
 * Returns true if this response can be stored to later serve another
 * request.
 */
public boolean isCacheable(RequestHeaders request) {
  // Always go to network for uncacheable response codes (RFC 2616, 13.4),
  // This implementation doesn't support caching partial content.
  int responseCode = headers.getResponseCode();
  if (responseCode != HttpURLConnection.HTTP_OK
      && responseCode != HttpURLConnection.HTTP_NOT_AUTHORITATIVE
      && responseCode != HttpURLConnection.HTTP_MULT_CHOICE
      && responseCode != HttpURLConnection.HTTP_MOVED_PERM
      && responseCode != HttpURLConnection.HTTP_GONE) {
    return false;
  }

  // Responses to authorized requests aren't cacheable unless they include
  // a 'public', 'must-revalidate' or 's-maxage' directive.
  if (request.hasAuthorization() && !isPublic && !mustRevalidate && sMaxAgeSeconds == -1) {
    return false;
  }

  if (noStore) {
    return false;
  }

  return true;
}
 
开发者ID:aabognah,项目名称:LoRaWAN-Smart-Parking,代码行数:28,代码来源:ResponseHeaders.java

示例5: isRedirect

private static boolean isRedirect(int code) {
    return code == HttpURLConnection.HTTP_MOVED_PERM
            || code == HttpURLConnection.HTTP_MOVED_TEMP
            || code == HttpURLConnection.HTTP_SEE_OTHER
            || code == HttpURLConnection.HTTP_MULT_CHOICE
            || code == HTTP_TEMPORARY_REDIRECT
            || code == HTTP_PERMANENT_REDIRECT;
}
 
开发者ID:angcyo,项目名称:RLibrary,代码行数:8,代码来源:RedirectHandler.java

示例6: isHttpRedirect

private static boolean isHttpRedirect(int responseCode) {
  switch (responseCode) {
    case HttpURLConnection.HTTP_MULT_CHOICE:
    case HttpURLConnection.HTTP_MOVED_PERM:
    case HttpURLConnection.HTTP_MOVED_TEMP:
    case HttpURLConnection.HTTP_SEE_OTHER:
    case HTTP_TEMPORARY_REDIRECT:
    case HTTP_PERMANENT_REDIRECT:
      return true;
    default:
      return false;
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:13,代码来源:HttpUrlConnectionNetworkFetcher.java

示例7: checkForRedirect

public static String checkForRedirect(String url) {
	try {
		HttpURLConnection con = (HttpURLConnection) new URL( url ).openConnection();
		if (con.getResponseCode() == HttpURLConnection.HTTP_MOVED_PERM) {
			url = con.getHeaderField("Location");
		}
	} catch(IOException e) {
		e.printStackTrace();
	}
	return url;
}
 
开发者ID:iedadata,项目名称:geomapapp,代码行数:11,代码来源:URLFactory.java

示例8: unredirect

public static URI unredirect(URI uri) throws IOException {
  if (!REDIRECTOR_DOMAINS.contains(uri.getHost())) {
    return uri;
  }
  URL url = uri.toURL();
  HttpURLConnection connection = safelyOpenConnection(url);
  connection.setInstanceFollowRedirects(false);
  connection.setDoInput(false);
  connection.setRequestMethod("HEAD");
  connection.setRequestProperty("User-Agent", "ZXing (Android)");
  try {
    int responseCode = safelyConnect(uri.toString(), connection);
    switch (responseCode) {
      case HttpURLConnection.HTTP_MULT_CHOICE:
      case HttpURLConnection.HTTP_MOVED_PERM:
      case HttpURLConnection.HTTP_MOVED_TEMP:
      case HttpURLConnection.HTTP_SEE_OTHER:
      case 307: // No constant for 307 Temporary Redirect ?
        String location = connection.getHeaderField("Location");
        if (location != null) {
          try {
            return new URI(location);
          } catch (URISyntaxException e) {
            // nevermind
          }
        }
    }
    return uri;
  } finally {
    connection.disconnect();
  }
}
 
开发者ID:PhilippC,项目名称:keepass2android,代码行数:32,代码来源:HttpHelper.java

示例9: unredirect

public static URI unredirect(URI uri) throws IOException {
  if (!REDIRECTOR_DOMAINS.contains(uri.getHost())) {
    return uri;
  }
  URL url = uri.toURL();
  HttpURLConnection connection = safelyOpenConnection(url);
  connection.setInstanceFollowRedirects(false);
  connection.setDoInput(false);
  connection.setRequestMethod("HEAD");
  connection.setRequestProperty("User-Agent", "ZXing (Android)");
  try {
    int responseCode = safelyConnect(connection);
    switch (responseCode) {
      case HttpURLConnection.HTTP_MULT_CHOICE:
      case HttpURLConnection.HTTP_MOVED_PERM:
      case HttpURLConnection.HTTP_MOVED_TEMP:
      case HttpURLConnection.HTTP_SEE_OTHER:
      case 307: // No constant for 307 Temporary Redirect ?
        String location = connection.getHeaderField("Location");
        if (location != null) {
          try {
            return new URI(location);
          } catch (URISyntaxException e) {
            // nevermind
          }
        }
    }
    return uri;
  } finally {
    connection.disconnect();
  }
}
 
开发者ID:amap-demo,项目名称:weex-3d-map,代码行数:32,代码来源:HttpHelper.java

示例10: isRedirection

private static boolean isRedirection(int code) {
    return code == HttpURLConnection.HTTP_MOVED_PERM
            || code == HttpURLConnection.HTTP_MOVED_TEMP
            || code == HttpURLConnection.HTTP_SEE_OTHER
            || code == HttpURLConnection.HTTP_MULT_CHOICE
            || code == Constants.HTTP_TEMPORARY_REDIRECT
            || code == Constants.HTTP_PERMANENT_REDIRECT;
}
 
开发者ID:MindorksOpenSource,项目名称:PRDownloader,代码行数:8,代码来源:Utils.java

示例11: hasMoved

/**
 * Returns true if the status code implies the resource has moved
 * @param statusCode    the HTTP status code
 * @return              true if resource has moved
 */
private boolean hasMoved(int statusCode) {
    switch (statusCode) {
        case HttpURLConnection.HTTP_MOVED_TEMP: return true;
        case HttpURLConnection.HTTP_MOVED_PERM: return true;
        case HttpURLConnection.HTTP_SEE_OTHER:  return true;
        default:                                return false;
    }
}
 
开发者ID:zavtech,项目名称:morpheus-core,代码行数:13,代码来源:HttpClient.java

示例12: redirectConfigured

/**
 * check whether redirect is configured
 * @param response
 * @return
 */
private boolean redirectConfigured( WebResponse response ) {
	boolean isAutoredirect=getClient().getClientProperties().isAutoRedirect();
	boolean hasLocation=response.getHeaderField( "Location" ) != null;
	int responseCode=response.getResponseCode();
	boolean result=isAutoredirect
  	&& responseCode >= HttpURLConnection.HTTP_MOVED_PERM
  	&& responseCode <= HttpURLConnection.HTTP_MOVED_TEMP
  	&& hasLocation;
  return result;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:15,代码来源:WebWindow.java

示例13: onResponse

/**
 * this method intercepts redirect statusCode and calls {@link #onRedirect(int, String)} methods
 *  if fellowRedirects or followSslRedirects returns false.
 *  
 * this method called by okhttp'callback method ,as a hook method, should be
 * overrode by sub-class,and the sub-class should call super.Response(Call call,Response response)
 * 
 * @param call 		the call 
 * 
 * @param response  the response
 * 
 * @return return false if called {@link #onRedirect(int, String)} ,otherwise return true.
 * */
protected boolean onResponse(Call call, Response response) {
	if(null == okHttpClient){
		throw new NullPointerException("none okHttpClient attached with "+call);
	}
	boolean isFollowRedirects = okHttpClient.followRedirects()
								&&okHttpClient.followSslRedirects();
	System.out.println("isFollowRedirects->"+isFollowRedirects);
	final int statusCode = response.code();
	if ((statusCode == HttpURLConnection.HTTP_MOVED_TEMP 
		|| statusCode == HttpURLConnection.HTTP_MULT_CHOICE 
		|| statusCode == HttpURLConnection.HTTP_MOVED_PERM
		|| statusCode == HttpURLConnection.HTTP_SEE_OTHER)
		&&!isFollowRedirects) {
		String location = response.header("Location");
		System.out.println("header location:"+location);
		if(location == null || location.trim().length() == 0)
		{
			try {
				location = response.body().string();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		final String locationInfo = location;
		OkhttpUtil.getInstance().executeInMainThread(new Runnable() {

			public void run() {
				// TODO Auto-generated method stub
				onRedirect(statusCode, locationInfo);
			}
		});
		return false;
	}
	return true;
}
 
开发者ID:Shelmanxie,项目名称:okhttpUtil,代码行数:49,代码来源:BaseCallback.java

示例14: isHttpRedirect

private static boolean isHttpRedirect(int responseCode) {
    switch (responseCode) {
        case HttpURLConnection.HTTP_MULT_CHOICE:
        case HttpURLConnection.HTTP_MOVED_PERM:
        case HttpURLConnection.HTTP_MOVED_TEMP:
        case HttpURLConnection.HTTP_SEE_OTHER:
        case HTTP_TEMPORARY_REDIRECT:
        case HTTP_PERMANENT_REDIRECT:
            return true;
        default:
            return false;
    }
}
 
开发者ID:Sunzxyong,项目名称:Tiny,代码行数:13,代码来源:HttpUrlConnectionFetcher.java

示例15: getFinalURL

public static String getFinalURL(String url) throws IOException {
    HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
    con.setInstanceFollowRedirects(false);
    con.connect();
    con.getInputStream();

    if (con.getResponseCode() == HttpURLConnection.HTTP_MOVED_PERM || con.getResponseCode() == HttpURLConnection.HTTP_MOVED_TEMP) {
        String redirectUrl = con.getHeaderField("Location");
        return getFinalURL(redirectUrl);
    }
    return url;
}
 
开发者ID:89luca89,项目名称:ThunderMusic,代码行数:12,代码来源:BandcampLinkRetriever.java


注:本文中的java.net.HttpURLConnection.HTTP_MOVED_PERM属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。