# Http request



## osiris86 (30. Dez 2010)

Hi,

ich habe folgendes Problem, ich schicke ein HttpRequest anfrage an ein Programm, das diese dann weiter verarbeiten soll, nur leider funktioniert das nicht so wie ich will.
Mein Header sie wiefolgt aus:

[XML]POST /?pwd=PASSWORD&cmd=ReadXml HTTP/1.1
Content-Type: text/xml
Expect: 100-continue
User-Agent: Java/1.6.0_17
Host: localhost:8081
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 432[/XML]

Ich würde gerne das Property "Accept" noch entfernen, weil ich glaube das es daran liegt.
Gibt es eine Möglichkeit den Header komplett zu löschen?

Hier noch mein Code wie der Request erstellt wird.


```
StringBuilder answer = null;
    HttpURLConnection urlc = null;
    OutputStreamWriter writer = null;
    BufferedReader reader = null;
    try {
      // Send the request
      URL url = new URL("http://localhost:8081/?pwd=PASSWORD&cmd=ReadXml");
      urlc = (HttpURLConnection) url.openConnection();
      urlc.setRequestMethod("POST");
      urlc.setDoOutput(true);
      urlc.setRequestProperty("Content-Type", "text/xml");
      writer =
          new OutputStreamWriter(urlc.getOutputStream());

      // write parameters
      writer.write(data.toString());
      writer.close();
      // Get the response
      answer = new StringBuilder();
      reader =
          new BufferedReader(new InputStreamReader(urlc.getInputStream()));
      String line;
      while ((line = reader.readLine()) != null) {
        answer.append(line);
      }
      reader.close();
      urlc.disconnect();
```

Danke schon mal für die Antworten


----------



## MQue (30. Dez 2010)

Was willst du genau haben und was funktioniert nicht?


----------



## osiris86 (30. Dez 2010)

Ich will die property "Accept" nicht haben, weil diese automatisch erstellt wird, leider weiß ich nicht wie ich das Codetechnisch unterbinden kann.


----------



## Gelöschtes Mitglied 5909 (30. Dez 2010)

hast dus mal mit urlc.setRequestProperty("Accept", ""); bzw null versucht?

Ansonsten kannst du auch den commons httpclient nutzen oder es über ein socket machen oder oder oder


----------



## osiris86 (30. Dez 2010)

Jup mit setrequestproperty null bzw "" habe ich es auch schon probiert. Zwar ist der Value dann verschwunden aber die property steht trotzdem noch im Header


----------



## Gelöschtes Mitglied 5909 (30. Dez 2010)

> Ich will die property "Accept" nicht haben,



btw: du willst sie nicht haben, http aber warscheinlich schon 

mach mal urlc.setRequestProperty("Accept", "*/*");



> Ich würde gerne das Property "Accept" noch entfernen, weil ich glaube das es daran liegt.



Außerdem wäre eine Fehlermeldung / Exception / HTTP STatuscode hilfreich.
Mit "Es geht nicht, ich glaube... " kann man schlecht helfen.

Was passiert den überhaupt?


----------



## osiris86 (30. Dez 2010)

Keine exception, gar nichts! Ich bekomme den Status Code Ok zurück also es scheint alles ok zu sein. Ich möchte nur wissen wie ich per Java Code alle Header properties löschen kann oder das Accept property entfernen kann.


----------



## Gelöschtes Mitglied 5909 (30. Dez 2010)

> Ich bekomme den Status Code Ok zurück also es scheint alles ok zu sein.



Und wo ist jetzt dein Problem?



> Ich möchte nur wissen wie ich per Java Code alle Header properties löschen kann oder das Accept property entfernen kann.



Dann nehm ein Socket, die HttpUrlConnection kann das wie es aussieht nicht (siehe URLConnection (Java Platform SE 6))


----------

