gpt4 book ai didi

Android - 获取 url 重定向

转载 作者:太空狗 更新时间:2023-10-29 15:17:51 25 4
gpt4 key购买 nike

我目前有一个媒体播放器,正在尝试从我的源路径中获取重定向地址。由于媒体播放器不支持重定向处理,我试图通过创建 httpurlconnection 等来获取重定向的 url 路径。但是,我不确定我是否做对了。任何帮助,将不胜感激。谢谢。

代码:

Log.d(TAG, "create url - test");
URL testUrl = new URL(path);
HttpURLConnection conn = (HttpURLConnection)testUrl.openConnection();

String test = conn.getURL().toString();
String test1 = conn.getHeaderField(2);
String test2 = conn.toString();
Log.d(TAG, "normal stuff test is: " + test);
Log.d(TAG, "header field test is: " + test1);
Log.d(TAG, "url to string is: " + test2);

最佳答案

下面的代码遵循一个 URL 重定向跳转。通过使用 HTTP HEAD请求而不是 GET消耗的带宽极少。扩展此方法以处理多跳应该相当简单。

public URI followRedirects(URI original) throws ClientProtocolException, IOException, URISyntaxException
{
HttpHead headRequest = new HttpHead(original);

HttpResponse response = client.execute(headRequest);
final int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY ||
statusCode == HttpStatus.SC_MOVED_TEMPORARILY)
{
String location = response.getHeaders("Location")[0].toString();
String redirecturl = location.replace("Location: ", "");
return new URI(redirecturl);
}
return original;
}

它假定您已经设置了一个 HttpClient存储在 client 字段中。

另见 this question .

关于Android - 获取 url 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10936398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com