read - parse url java




어떻게 자바에서 URL을 구축? (2)

StringBuilder를 사용하여 String을 작성합니다.

StringBuilder builder = new StringBuilder();
builder.append("my parameters");
builder.append("other parameters");

그런 다음 URL을 작성합니다.

Url url = new Url(builder.toString());

그런 다음 연결을 시도합니다.

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

그러나 URL은 내가 얻은 결과에서 옳지 않은 것 같습니다. 그것은 몇몇 매개 변수가 거짓 전달되고있는 것과 같습니다. 그게 문제가 StringBuilder의 일부라고 생각하는 이유입니다.

문제는 내가 전달하려고하는 이중 매개 변수에 있습니다.

double longitude = 23.433114;
String lng = String.ValueOf(longitude);

그리고 나서 그것을 URL에 넣었습니다. 그러나 문자열로 제공하면 결과는 정확합니다.

String lng = "23.433114"

UrlEncoding이 필요합니까? 나는 아래에 제시된 것을 시도 할 것이다.


URL을 작성하고 GET 요청을 통해 URL을 소비하려는 경우이 프로세스에서 도움이되는 라이브러리를 사용하는 것이 좋습니다. HttpComponents Unirest 라이브러리를 쉽게 사용할 수있는 HttpComponents 위에 구축 된 Unirest 와 같은 다른 라이브러리를 사용할 수 있습니다.

다음은 Unirest를 사용하는 예제입니다.

HttpResponse<String> stringResponse = Unirest.get("https://www.youtube.com/results")
    .field("search_query", "eñe")
    .asString();
System.out.println(stringResponse.getBody());

이렇게하면 "eñe" 사용하여 YouTube에서 검색 한 모든 결과에 해당하는 HTML 응답을 검색합니다. ñ 문자가 인코딩됩니다.

면책 조항 : 나는 Unirest에 어떤 의미로도 첨부되지 않습니다. 나는이 프로젝트의 개발자 또는 후원자가 아니다. 나는이 프레임 워크의 행복한 사용자 일뿐입니다.


아파치의 URIBuilder 사용해보십시오 : [ Documentation ]

import org.apache.http.client.utils.URIBuilder;

// ...

URIBuilder b = new URIBuilder("http://example.com");
b.addParameter("t", "search");
b.addParameter("q", "apples");

Url url = b.build().toUrl();

Maven 종속성 :

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




url