Ich versuche, einen HTTP-Beitrag in Apache HttpClient (httpclient-4.0-beta2) einen Verweis hinzufügen.Apache HttpClient 4.0-beta2 httppost, wie man einen Referer hinzufügt?
Ich fand einige Beispielcode, der dies tut. Der Code funktioniert, aber ich frage mich, ob es einen einfacheren, direkteren Weg gibt, den Referer hinzuzufügen, als den (sinnigerweise benannten) addRequestInterceptor zu verwenden, der eine (yikes!) Innere Klasse als Parameter zu nehmen scheint.
Der betreffende Code beginnt unten mit "// addiere den Referer Header". Ich bin ein Neuling und dieser Code macht mehrere Dinge, die ich nicht verstehe. Ist das wirklich der einfachste Weg, einen Referer zu meinem http-Post hinzuzufügen?
Danke für alle Hinweise.
// 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);
Vielen Dank für diese Hilfe. Ich bin mir ziemlich sicher, dass ich zuerst so etwas probiert habe und bei der Suche nach einem anderen Weg begann. Aber wenn ich es jetzt versuche, funktioniert es zum ersten Mal! :) Wahrscheinlich ein kleiner Fehler, den ich gemacht habe, der mich in die Irre geführt hat (ich werde nicht zugeben, wie viele Tage ich daran gearbeitet habe ...). –