Tudiluuu liebe Mitprogrammierer
Es handelt sich um folgendes.
Ich möchte einen http request mit Java simulieren.
Es handelt sich dabei um einen Request, den ich mit Hilfe von Fiddler2 ausgelesen habe:
Nun würde ich diesen Request gerne simulieren. Dazu verwende ich ne vorlage...
Das Programm sieht momentan Folgendermassen aus:
Ich habe meine Daten eingetragen... allerdings Weiss ich nicht wozu die oberen Parameter sind und habe diese unverändert gelassen.
Wenn ich nun das Programm im NetBeans starte, erhalte ich eine Fehlermeldung und die Simulation wird abgebrochen.
Kann mir da Jemandweiterhelfen wie ich das Reparieren kann oder obs einen anderen Weg gibt?
Danke fürs anschauen.
greez B00bietrap
Es handelt sich um folgendes.
Ich möchte einen http request mit Java simulieren.
Es handelt sich dabei um einen Request, den ich mit Hilfe von Fiddler2 ausgelesen habe:
Code:
POST /cgi-bin/cgi HTTP/1.1
Host: 192.168.1.10
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2
Accept: */*
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Content-Type: text/plain; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://192.168.1.10/index.xhtml
Content-Length: 9
Pragma: no-cache
Cache-Control: no-cache
GetImage
Nun würde ich diesen Request gerne simulieren. Dazu verwende ich ne vorlage...
Das Programm sieht momentan Folgendermassen aus:
Java:
package httprequest;
import org.apache.http.*;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import java.io.*;
import java.util.*;
import java.util.zip.GZIPInputStream;
public class WebScrapingTesting {
public static void main(String[] args) throws Exception {
String target = "192.168.1.10";
HttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(target);
BasicNameValuePair[] params = {
new BasicNameValuePair("jpState", "single"),
new BasicNameValuePair("commandName", "journeyPlannerCommand"),
new BasicNameValuePair("from.searchTerm", "Basingstoke"),
new BasicNameValuePair("to.searchTerm", "Reading"),
new BasicNameValuePair("timeOfOutwardJourney.arrivalOrDeparture", "DEPART"),
new BasicNameValuePair("timeOfOutwardJourney.monthDay", "Today"),
new BasicNameValuePair("timeOfOutwardJourney.hour", "10"),
new BasicNameValuePair("timeOfOutwardJourney.minute", "15"),
new BasicNameValuePair("timeOfReturnJourney.arrivalOrDeparture", "DEPART"),
new BasicNameValuePair("timeOfReturnJourney.monthDay", "Today"),
new BasicNameValuePair("timeOfReturnJourney.hour", "18"),
new BasicNameValuePair("timeOfReturnJourney.minute", "15"),
new BasicNameValuePair("_includeOvertakenTrains", "on"),
new BasicNameValuePair("viaMode", "VIA"),
new BasicNameValuePair("via.searchTerm", "Station name / code"),
new BasicNameValuePair("offSetOption", "0"),
new BasicNameValuePair("_reduceTransfers", "on"),
new BasicNameValuePair("operatorMode", "SHOW"),
new BasicNameValuePair("operator.code", ""),
new BasicNameValuePair("_lookForSleeper", "on"),
new BasicNameValuePair("_directTrains", "on")};
httpPost.setHeader("Host", "192.168.1.10");
httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
httpPost.setHeader("Accept", "*/*");
httpPost.setHeader("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");
httpPost.setHeader("Accept-Encoding", "gzip, deflate");
httpPost.setHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
httpPost.setHeader("Connection", "keep-alive");
httpPost.setHeader("X-Requested-With" , "XMLHttpRequest");
httpPost.setHeader("Referer", "http://192.168.1.10/index.xhtml");
httpPost.setHeader("Content-Type", "text/plain; charset=UTF-8");
httpPost.setHeader("Content-Length", "9");
httpPost.setHeader("Pragma", "no-cache");
httpPost.setHeader("Cache-Control", "no-cache");
UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(Arrays.asList(params));
urlEncodedFormEntity.setContentEncoding(HTTP.UTF_8);
httpPost.setEntity(urlEncodedFormEntity);
HttpResponse response = client.execute(httpPost);
InputStream input = response.getEntity().getContent();
GZIPInputStream gzip = new GZIPInputStream(input);
InputStreamReader isr = new InputStreamReader(gzip);
BufferedReader br = new BufferedReader(isr);
String line = null;
while((line = br.readLine()) != null) {
System.out.printf("\n%s", line);
}
client.getConnectionManager().shutdown();
}
}
Ich habe meine Daten eingetragen... allerdings Weiss ich nicht wozu die oberen Parameter sind und habe diese unverändert gelassen.
Wenn ich nun das Programm im NetBeans starte, erhalte ich eine Fehlermeldung und die Simulation wird abgebrochen.
Kann mir da Jemandweiterhelfen wie ich das Reparieren kann oder obs einen anderen Weg gibt?
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.http.impl.client.AbstractHttpClient.<init>(AbstractHttpClient.java:182)
at org.apache.http.impl.client.DefaultHttpClient.<init>(DefaultHttpClient.java:150)
at httprequest.WebScrapingTesting.main(WebScrapingTesting.java:21)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 3 more
Java Result: 1
Danke fürs anschauen.
greez B00bietrap