RawHttp
2019-10-30 本文已影响0人
刘书生
1.参考资料
gitup地址:https://github.com/renatoathaydes/rawhttp
博客地址:https://sites.google.com/a/athaydes.com/renato-athaydes/posts/announcingrawhttp-ajvmlibraryforhandlingrawhttp
2.介绍
用于处理原始HTTP的JVM库,
3.请求/响应格式
1.请求格式
GET / HTTP/1.1
Host: headers.jsontest.com
Accept: application/json
2.响应格式
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=ISO-8859-1
X-Cloud-Trace-Context: e7be085086214dffdeb6350ad37672ed
Date: Sun, 10 Dec 2017 18:33:53 GMT
Server: Google Frontend
Content-Length: 155
{
"X-Cloud-Trace-Context": "e7be085086214dffdeb6350ad37672ed/9779089525915638501",
"Host": "headers.jsontest.com",
"Accept": "application/json"
}
4.在java中的使用
1.第一步:引入依赖
<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.10.0</version>
</dependency>
2.第二步:编写demo
@Test
public void contextLoads() throws IOException {
RawHttp rawHttp = new RawHttp();
// Host里面包含主机和端口
RawHttpRequest request = rawHttp.parseRequest(
"GET /hello.txt HTTP/1.1\r\n" +
"User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3\r\n" +
"Host: http://localhost:9596\r\n" +
"Accept-Language: en, mi\r\n" +
"x-forwarded-for: en, mi");
System.out.println(request.getUri().getPort());
}
输出