本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
}
示例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;
}
示例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();
}
}
示例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();
}
}
示例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;
}
示例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;
}
}
示例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;
}
示例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;
}
示例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;
}
}
示例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;
}