一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - httpclient重定向之后獲取網址信息示例

httpclient重定向之后獲取網址信息示例

2019-11-06 11:40java教程網 JAVA教程

使用HttpClient進行127.0.0.1:8080地址的問題,然后該地址自動重定向127.0.0.1:8080/mobserver,如何獲取該地址呢?使用HttpContext,下面是示例

代碼如下:


import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.ExecutionContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;

 

public class HttpClientDemo {

 /**
  * 獲取重定向之后的網址信息
  * @see HttpClient缺省會自動處理客戶端重定向
  * @see 即訪問網頁A后,假設被重定向到了B網頁,那么HttpClient將自動返回B網頁的內容
  * @see 若想取得B網頁的地址,就需要借助HttpContext對象,HttpContext實際上是客戶端用來在多次請求響應的交互中,保持狀態信息的
  * @see 我們自己也可以利用HttpContext來存放一些我們需要的信息,以便下次請求的時候能夠取出這些信息來使用
  */
 public static void getRedirectInfo(){
  HttpClient httpClient = new DefaultHttpClient();
  HttpContext httpContext = new BasicHttpContext();
  HttpGet httpGet = new HttpGet("http://127.0.0.1:8088/blog/main.jsp");
  try {
   //將HttpContext對象作為參數傳給execute()方法,則HttpClient會把請求響應交互過程中的狀態信息存儲在HttpContext中
   HttpResponse response = httpClient.execute(httpGet, httpContext);
   //獲取重定向之后的主機地址信息,即"http://127.0.0.1:8088"
   HttpHost targetHost = (HttpHost)httpContext.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
   //獲取實際的請求對象的URI,即重定向之后的"/blog/admin/login.jsp"
   HttpUriRequest realRequest = (HttpUriRequest)httpContext.getAttribute(ExecutionContext.HTTP_REQUEST);
   System.out.println("主機地址:" + targetHost);
   System.out.println("URI信息:" + realRequest.getURI());
   HttpEntity entity = response.getEntity();
   if(null != entity){
    System.out.println("響應內容:" + EntityUtils.toString(entity, ContentType.getOrDefault(entity).getCharset()));
    EntityUtils.consume(entity);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }finally{
   httpClient.getConnectionManager().shutdown();
  }
 }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产第一区二区三区 | 欧美人shou交在线播放 | 操久久| 日韩成人在线视频 | 亚洲男人的天堂网 | 久久人妻熟女中文字幕AV蜜芽 | 色综合视频一区二区观看 | 日本妻子迷妹网 | 天天久久影视色香综合网 | 美女翘臀内疯狂进出 | 高清欧美videossexo免费 | 成人免费在线视频网 | 日本一本二本三区免费 | www.精品视频 | 婷婷在线观看香蕉五月天 | 亚洲天堂影院在线观看 | 欧美a一级片 | 变态女王麻麻小说在线阅读 | 免费看隐私美女 | s0e一923春菜花在线播放 | 91久久青青青国产免费 | 白丝校花被扒开双腿喷水小说 | 欧美一级特黄特色大片免费 | 欧美三级一区二区 | 日韩视频在线免费观看 | 美女曰逼视频 | 成人国产网站v片免费观看 成人国产精品视频 | 69av导航 | 亚洲视频在线免费 | 日本sss在线高清观看 | 水蜜桃一二二区视在线 | 99久久99热久久精品免 | 国产99精品| 4438全国最大免费观看 | 日韩一区二区三区在线 | 美女被吸乳得到大胸 | 香港论理午夜电影网 | 美女露尿口 | 扒开斗罗美女了的胸罩和内裤漫画 | 美女翘臀跪床被打屁股作文 | 挺进白嫩老师下面视频 |