2014-07-23 85 views
1

我使用Jetty 7的ContentExchange类来设置URL,标头和requestContent。

下面是我使用的是哪种码头7
码头9 - 如何使用Jetty 9设置“请求内容”和“请求标题”?

HttpClient client = new HttpClient(); 
    client.start(); 
    ContentExchange exchange = new ContentExchange(); 
    exchange.setURL(url); 
    exchange.setRequestHeader("Content-Type", "application/xml"); 
    exchange.setRequestHeader("Authorization", "Basic " + this.getAuthenticatonString()); 
    exchange.setMethod("POST"); 

    final AbstractBuffer cb = new ByteArrayBuffer(xml.getBytes("UTF-8")); 
    exchange.setRequestContent(cb); 

    client.send(exchange); 
    exchange.waitForDone(); 


码头9没有ContentExchange类,但是经过一番研究,我有这个

HttpClient client = new HttpClient(); 
client 
.POST(url) 
.send() 


我想我可以使用client.param来设置请求标题,但我不太确定。

所以我的问题是如何使用Jetty 9设置“请求内容”和“请求标题”?

+0

有没有什么适合你的? – raevilman

+1

不!我只是继续使用Jetty 7一段时间,然后切换到泽西岛。 – Raj

回答

0
import org.eclipse.jetty.client.HttpClient; 
import org.eclipse.jetty.client.Request; 
import org.eclipse.jetty.client.ContentResponse; 
import org.eclipse.jetty.http.HttpMethod; 
import org.eclipse.jetty.http.HttpHeader; 
... 
HttpClient client = new HttpClient(); 
client.start(); 
Request req = client.newRequest("http://...."); 
req.method(HttpMethod.GET); 
req.agent("Mozilla/5.0..."); 
req.header(HttpHeader.ACCEPT, "text/html"); 
req.header(HtppHeader.CONNECTION, "Keep-Alive"); 
ContentResponse resp = req.send(): 
... 
client.stop();