# Verbindung zu einem Server - POST



## d3x84 (9. Sep 2009)

Hi,
ich habe mir schon diverse Quellen die zum Thema Netzwerkprogrammierung vorhanden sind angeschaut, werde aber mangels beispielcode in den tutorials nicht ganz schlau draus =(.

Im prinzip will ich folgendes machen.
Ich will eine datei von einem server herunterladen. Dazu muss ich dem server per POST ein paar daten übermitteln, dann kann ich die von mir angeforderte Datei herunterladen.

Hintergrund:
Ich spiele ein MMO. Die Entwickler bieten eine Schnittstelle, mit der man Spielinterne Daten von außen auslesen kann. Die Daten werden zumeist in Form einer XML geliefert, die man entsprechend local speichern muss und später auslesen muss doch um letzteres geht es momentan nicht.

Die Docu hierzu ist recht spärlich aber wie das funktioniert, zeigt ein beispiel der entwickler in python.


```
# short testing script which fetches recent market transactions; this only prints out
# the data, it's an exercise to the reader to parse the XML and do something useful
# with the data.
import httplib, urllib

# setup the parameters we will be sending to the webserver; note that all of this
# information is gathered from the API Key page that the user should visit, and
# the characterID is gathered from /account/Characters.xml.aspx
params = urllib.urlencode( {
    'characterID': 150209812,
    'userid': 256833,
    'apikey': 'DVPtgNgmyEGk9L9RxDTJn8dCjIraiaa7efNK4VlGKAoI6Hm8uB514zy6CbFCuScC',
    } )

# connect to server, POST our request, fairly simple stuff...
headers = { "Content-type": "application/x-www-form-urlencoded" }
conn = httplib.HTTPConnection("api.eve-online.com")
conn.request("POST", "/char/WalletTransactions.xml.aspx", params, headers)

# now get response from server, print out the status code for debugging
response = conn.getresponse()
print response.status, response.reason

# now print the data; at this point you'd want to do XML parsing and do whatever
# else you want... well, after probably doing conn.close below
data = response.read()
print data

# OCD comment placement
conn.close
```

Doch wie setzte ich das oben genannte Beispiel in Java um?

Klar den server lege ich mit

```
URL apiserver = new URL( "api.eve-online.com");
```

fest. dann sollte och wohl mit


```
getContentType();
```
die header/content infos auslesen

doch WIE setzte ich in Java diese zeile um?


```
conn.request("POST", "/char/WalletTransactions.xml.aspx", params, headers)
```

ich bin ziemlich verwirrt.

Könnte mir jemand bitte in etwa Tippen wie das umzusetzen ist?
Durch zusammenhängende Code Beispiele verstehe ich meistens den Sinn
aber irgendwie in allen Tutorials die ich gefunden habe gibts
nur vereinzelte Code Schnippsel zu allen möglichen Themen...


Vielen Dank


----------



## tuxedo (10. Sep 2009)

Vielleicht hilft dir das:

Sending a POST Request Using a URL (Java Developers Almanac Example)


- Alex


----------



## Kaffeebohn (27. Okt 2009)

//EDIT Sorry ist wohl im falschen Thread gelandet...


----------

