apache 302重定向
来源:互联网 发布:excel数据分析方法五种 编辑:程序博客网 时间:2024/05/22 07:43
public static HttpResponse RedirectUrl(String url) { try { HttpParams httpParameters = new BasicHttpParams(); // 设置连接管理器的超时 ConnManagerParams.setTimeout(httpParameters, 20000); // 设置连接超时 HttpConnectionParams.setConnectionTimeout(httpParameters, 20000); // 设置socket超时 HttpConnectionParams.setSoTimeout(httpParameters, 20000); //设置自定义重定向 HttpClientParams.setRedirecting(httpParameters, false); HttpClient hc = getHttpClient(httpParameters); HttpGet httpGet = new HttpGet(url); httpGet.setParams(httpParameters); HttpResponse response = hc.execute(httpGet); return response; } catch (IOException e) { e.printStackTrace(); } return null;}
private static int retry = 0;/** * 尝试获取referrer次数 */public static int retryNum = 3;/** * 用重定向的方式去获取refer * 该方法用于判断最终的链接得出 * * @param context * @param tackUrl * @param id * @return */public static String getRedirectUrl(Context context, String tackUrl, String id) { Trace.e("getRedirectUrl", "retry==" + retry); try { HttpResponse response = PackHttp.RedirectUrl(tackUrl); if (response == null) { retry++; getRedirectUrl(context, tackUrl, id); return ""; } int code = response.getStatusLine().getStatusCode(); if (code != HttpStatus.SC_OK) { Header[] hander = response.getHeaders("Location"); if (hander != null && hander.length > 0) { String redictUrl = hander[hander.length - 1].getValue();//结束重定向条件 if (redictUrl.startsWith(String.valueOf(new char[]{'m', 'a', 'r', 'k', 'e', 't', ':',})) || redictUrl.startsWith(Const.URL_REDIR_URL)) { updateRef(context, id, redictUrl); return ""; } //多次判定重定向 return getRedirectUrl(context, redictUrl, id); } } else if (code == HttpStatus.SC_OK) { String redictUrl = tackUrl; if (redictUrl.startsWith(String.valueOf(new char[]{'m', 'a', 'r', 'k', 'e', 't', ':',})) || redictUrl.startsWith(Const.URL_REDIR_URL)) { updateRef(context, id, redictUrl); } else {//再次尝试获取 retry++; getRedirectUrl(context, redictUrl, id); } } } catch (Exception e) { e.printStackTrace(); retry++; getRedirectUrl(context, tackUrl, id); } return tackUrl;}
0 0
- apache 302重定向
- apache 重定向
- apache 301 重定向
- apache 301重定向
- apache配置、重定向
- APACHE重定向
- APACHE重定向2
- APACHE重定向3
- apache重定向
- apache的重定向
- apache重定向
- apache重定向
- apache重定向
- Apache重定向
- apache重定向
- [Apache]设置重定向
- apache 301重定向
- apache 301重定向
- CentOS 7 网络配置
- springboot中webjars的打包与调用
- 7、字符串的输入与输出scanf、printf、cin、cout、gets、puts
- php 遍历文件夹及文件,获取文件名和文件路径存入数据库中
- Java基础学完了?来!复习(必看干货!)请认真看哦!
- apache 302重定向
- 文件相关工具类
- Django Rest Framework - 异常 、返回值处理 与 分页实现
- sys/cdefs.h: No such file or directory
- 多态
- 64-bit Tips
- 【Spring 核心】AOP 面向切面编程
- 浅析linux下的条件变量
- 深入剖析volatile关键字