Apache httpclient 4.0-beta2 httppost, 참조자를 추가하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1150615

  •  18-09-2019
  •  | 
  •  

문제

Apache httpclient (httpclient-4.0-beta2)의 HTTP 게시물에 대한 참조자를 추가하려고합니다.

이를 수행하는 샘플 코드를 찾았습니다. 이 코드는 작동하지만 (불길한) AddRequestinterceptor를 사용하는 것보다 더 간단하고 간단한 방법이 없는지 궁금합니다.

해당 코드는 아래에서 "// 참조 헤더 추가"로 시작됩니다. 나는 초보자 이고이 코드는 내가 이해하지 못하는 몇 가지 일을하고 있습니다. 이것이 내 HTTP 게시물에 참조자를 추가하는 가장 간단한 방법입니까?

포인터에 감사드립니다.

// initialize request parameters
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("firstName", "John"));
formparams.add(new BasicNameValuePair("lastName", "Doe"));

// set up httppost
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");
HttpPost httppost = new HttpPost(submitUrl);
httppost.setEntity(entity);

// create httpclient
DefaultHttpClient httpclient = new DefaultHttpClient();

// add the referer header, is an inner class used here?
httpclient.addRequestInterceptor(new HttpRequestInterceptor()
{   
    public void process(final HttpRequest request, 
                        final HttpContext context) throws HttpException, IOException
    {
        request.addHeader("Referer", referer);
    }
});

// execute the request
HttpResponse response = httpclient.execute(httppost);
도움이 되었습니까?

해결책

하지 말아야 할 모든 이유 :

httppost.addHeader("Referer", referer);

? HttpPost 서브 클래스 (간접적으로) AbstractHttpMessage 따라서 헤더를 그런 식으로 추가 할 수 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top