3

httpClient を作成していて、特定のヘッダーを HttpGet リクエストに追加したい
現在のコードは次のリクエストを生成します。

GET /folder/index.html HTTP/1.0
ホスト: localhost:4444
接続: キープアライブ
ユーザーエージェント: Apache-HttpClient/4.2.1 (java 1.5)

私が望むのは、その request に別のヘッダー (If-Modified-Since) を追加することです。
どうすればいいですか?
ありがとうございました :)

public String httpGet(String s) {
    String url = s;
    StringBuilder body = new StringBuilder();
    httpclient = new DefaultHttpClient(); // create new httpClient
    HttpGet httpGet = new HttpGet(url); // create new httpGet object



    try {
        response = httpclient.execute(httpGet); // execute httpGet
        StatusLine statusLine = response.getStatusLine();
        int statusCode = statusLine.getStatusCode();
        if (statusCode == HttpStatus.SC_OK) {
            // System.out.println(statusLine);
            body.append(statusLine + "\n");
            HttpEntity e = response.getEntity();
            String entity = EntityUtils.toString(e);
            body.append(entity);
        } else {
            body.append(statusLine + "\n");
            // System.out.println(statusLine);
        }
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        httpGet.releaseConnection(); // stop connection
    }
    return body.toString(); // return the String
}
4

2 に答える 2

9

次のように、HttpGet オブジェクトで setHeader() メソッドを使用します。

httpGet.setHeader("If-Modified-Since","11/26/2012");

このJavaDocを参考にしました。

于 2012-11-27T02:02:29.680 に答える
1

最初のものについては、次のように HttpGet オブジェクトで setHeader() メソッドを使用します。

httpGet.setHeader("If-Modified-Since","11/26/2012");

次に、2 番目のヘッダーに対して次のように HttpGet オブジェクトで addHeader() メソッドを使用します。

httpGet.addHeader("If-Expires-On","11/26/2014");
于 2014-09-05T05:39:34.633 に答える