urllib
urllib copied to clipboard
A modern URL toolset for Java. Compliant with RFC 3986.
urllib
Urllib is a library that makes URL manipulation easy, fun, and safe!
- [x] Zero extra dependencies.
- [x] Supports Java 7+, Android 14+.
- [x] Compliant with RFC 3986.
- [x] Immutable and threadsafe.
System.out.println(
Url.http("maps.google.com")
.path("maps")
.query("q", "Búðardalur")
.create());
>> http://maps.google.com/maps?q=B%C3%BA%C3%B0ardalur
System.out.println(
Url.parse("https://www.wolframalpha.com/input/?i=%E2%88%9A-1")
.query()
.params());
>> {i=√-1}
We're in preview!
Feel free to check out the code and give feedback! The first stable release will be 1.0. In the meantime, builds are available on jitpack:
Gradle
repositories {
jcenter()
maven { url 'https://jitpack.io' }
}
dependencies {
compile 'org.urllib:urllib:master-SNAPSHOT'
}
Maven
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.urllib</groupId>
<artifactId>urllib</artifactId>
<version>master-SNAPSHOT</version>
</dependency>
</dependencies>
- [x] 0.1
- Create a
Urlfrom scratch with builders. - Interop with
java.net.URI - Support ASCII DNS hosts.
- Create a
- [x] 0.2
- Expose component fields (scheme, host, path, etc..) via methods on the
Urlobject.
- Expose component fields (scheme, host, path, etc..) via methods on the
- [x] 0.3
- Support IPv4 hosts.
- [x] 0.4
- Support IPv6 hosts.
- [x] 0.5
- Support IDN hosts.
- [x] 0.6
- Create a
Urlby parsing.
- Create a
- [x] 0.7
- Utility method to create a
java.net.URIfrom a previously-encodedURL.
- Utility method to create a
- [x] 0.8
- Resolve a possibly-relative link against an existing
Url
- Resolve a possibly-relative link against an existing
- [ ] 0.9
- Utility method to classify a potential URL. Is it junk? A protocol-relative URL? An absolute path?
- [ ] 1.0
- Encode a
Urlto display to users (like in a web browser URL bar)
- Encode a