14
私はApache HttpClient(httpclient-4.0-beta2)のhttp投稿にrefererを追加しようとしています。Apache HttpClient 4.0-beta2 httppost、refererを追加するには?
これを行うサンプルコードが見つかりました。コードは機能しますが、パラメータとして内部クラス(yikes!)を取るように見える(奇妙な名前の)addRequestInterceptorを使用するよりも簡単で、より簡単な方法でrefererを追加することはできません。
以下のコードは、「//リファラーヘッダーを追加する」から始まります。私は初心者です、そして、このコードは私が理解していないいくつかのことをやっています。これは実際に私のhttpポストにrefererを追加する最も簡単な方法ですか?
ありがとうございます。
// 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);
この度はありがとうございます。私はこのようなものを最初に試したことは確かですが、失敗したら別の方法を探し始めました。しかし、私は今それを試してみると初めて動作します! :)おそらく私が作った小さな間違いは私を迷わせてしまった(私は何日も私がそれに取り組んできたことを認めないだろう...)。 –