gpt4 book ai didi

java - org.apache.http.ProtocolException : Target host is not specified

转载 作者:行者123 更新时间:2023-12-02 11:23:49 28 4
gpt4 key购买 nike

我编写了一个简单的 httprequest/response 代码,但收到以下错误。我在类路径中引用了 httpclient、httpcore、common-codecs 和 common-logging。我对java很陌生,不知道这里发生了什么。请帮我。

代码:

import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.HttpResponse;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.Header;
import org.apache.http.HttpHeaders;

public class UnshorteningUrl {

public static void main(String[] args) throws Exception
{
HttpGet request=null;
HttpClient client = HttpClientBuilder.create().build();

try {
request = new HttpGet("trib.me/1lBFzSi");
HttpResponse httpResponse=client.execute(request);

Header[] headers = httpResponse.getHeaders(HttpHeaders.LOCATION);
// Preconditions.checkState(headers.length == 1);
String newUrl = headers[0].getValue();
System.out.println("new url" + newUrl);
} catch (IllegalArgumentException e) {
// TODO: handle exception
}finally {
if (request != null) {
request.releaseConnection();
}
}
}}

错误:

Exception in thread "main" org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at UnshorteningUrl.main(UnshorteningUrl.java:26)
Caused by: org.apache.http.ProtocolException: Target host is not specified
at org.apache.http.impl.conn.DefaultRoutePlanner.determineRoute(DefaultRoutePlanner.java:69)
at org.apache.http.impl.client.InternalHttpClient.determineRoute(InternalHttpClient.java:124)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:183)
... 4 more

最佳答案

该错误消息具有一定的误导性。您提供的值不代表完整的 URI

request = new HttpGet("trib.me/1lBFzSi");

缺少协议(protocol)。

只需提供完整的 URI

request = new HttpGet("http://trib.me/1lBFzSi");

关于java - org.apache.http.ProtocolException : Target host is not specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24985771/

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