【问题标题】:Redirect URL type 301 in Java在 Java 中重定向 URL 类型 301
【发布时间】:2014-09-17 02:57:42
【问题描述】:

我学会了知道从 URL 实际链接重定向的位置。 在重定向 URL 网站上测试后,它给出 url 重定向类型 301。 所以,我根据下面的链接进行测试以获得真正的链接。 Get hold of redirect url with Java org.apache.http.client

代码如下:

HttpGet httpget = new HttpGet(filename);
HttpContext context = new BasicHttpContext(); 
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute((HttpUriRequest) httpget, context); 
if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK)
    throw new IOException(response.getStatusLine().toString());
HttpUriRequest currentReq = (HttpUriRequest) context.getAttribute(ExecutionContext.HTTP_REQUEST);
HttpHost currentHost = (HttpHost)  context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
String currentUrl = currentHost.toURI() + currentReq.getURI();
System.out.println(currentUrl);

但我收到了这条消息:

AbstractHttpClient 类型中的方法 execute(HttpUriRequest, HttpContext) 不适用于参数 (HttpGet, HttpContext)

有人能帮帮我吗,这段代码有什么问题?

【问题讨论】:

    标签: java redirect httpclient


    【解决方案1】:

    你的代码对我来说很适合这个 httpclient 依赖项:

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.1.2</version>
    </dependency>
    

    还有这些进口:

    import org.apache.http.HttpHost;
    import org.apache.http.HttpResponse;
    import org.apache.http.HttpStatus;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpUriRequest;
    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;
    

    检查您是否使用了正确的依赖项。

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 1970-01-01
      • 2010-12-07
      • 2013-12-21
      • 2015-03-04
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多