获得响应的URI参数我发送一个HTTP GET /使用HEAD请求Apache的HttpClient的4.x版我送包含“http://example.com/getAccessToken”的URL的请求。我期待的回应是重定向URL在如“http://redirecturl.com/?code=accessTokenStuff”返回的URL参数。我希望能够解析响应重定向url参数,即我想获得“accessTokenStuff”。我怎样才能做到这一点?从阿帕奇的HttpResponse
HttpClient client = new DefaultHttpClient();
HttpHead request = new HttpHead(authUrl);
HttpResponse response = client.execute(request);
System.out.println(response.getStatusLine().getStatusCode());//returns 200
request.releaseConnection();
简而言之:我想要的是执行原始网址,然后得到结果,这是另一个具有名为“代码”参数的网址。然后我想获取该参数的值。
编辑:
我也试过,但它返回相同的原始URL
DefaultHttpClient client = new DefaultHttpClient();
HttpParams params = client.getParams();
HttpClientParams.setRedirecting(params, false);
HttpGet request = new HttpGet(authUrl);
HttpResponse response = client.execute(request);
String location = response.getLastHeader("Location").getValue();//returns same original url
System.out.println(location);
request.releaseConnection();
设置HttpClientParams.setRedirecting(params, true);
返回NULL
见 http://stackoverflow.com/questions/1456987/httpclient-4-how-to-capture-last-redirect-url –