Daten per POST an Server übertragen

  • Themenstarter Themenstarter racy123
  • Beginndatum Beginndatum
R

racy123

Ich möchte gern Daten per POST an einen Server senden, aber ich weiß nicht, wo mein Fehler in meinem Code ist :

Code:
import java.net.URL.*;
import java.net.*;
import java.io.*;
import java.io.Writer.*;
import java.lang.*;
import java.util.Scanner;
import java.net.URLEncoder;
import java.lang.Object;
import java.net.URLConnection.*;
import java.net.HttpURLConnection.*;

class hack
{
	
	public static void main(String[] args)		
	{
		try
		{
			URL url = new URL( "http://www.meine-seite.de" );
			try
			{
				URLConnection conn = url.openConnection();
				String type = "application/x-www-form-urlencoded";
				String agent = "Mozilla/5.0";
				String host = "www.meine-seite.de";
				String data = java.net.URLEncoder.encode("feld1=abc&feld2=hallo");
				conn.setDoOutput(true);
				conn.setRequestProperty( "Host", host );
				conn.setRequestProperty( "User-Agent", agent );
				conn.setRequestProperty( "Content-Type", type );
				conn.setRequestProperty( "Content-Length", "21" );
				OutputStream os = conn.getOutputStream();
				os.write(data.getBytes());
				String content = conn.getContent().toString();
				InputStream stream = conn.getInputStream();
				conn.connect();
				System.out.println( new Scanner( stream ).useDelimiter( "\\Z" ).next() );
				System.out.println(content);

			}
			catch( IOException e )
			{
			}
		}
		catch ( MalformedURLException e )
		{
		}
	}
}

Wenn ich den Code auführe ist, wird nichts in der KOnsole angezeigt, also der Inpustream ist leer. Woran liegt das?
 
Hi,

habe Deinen Quellcode (lustigerweise mir der darin enthaltenen URL) ausgeführt und bekomme eine korrekte Ausgabe. Wäre sicher hilfreich, wenn Du die Exceptions abfängst.

Gruß

Java:
class hack
{
	
	public static void main(String[] args)		
	{
		try
		{
			URL url = new URL( "http://www.meine-seite.de" );
			try
			{
				URLConnection conn = url.openConnection();
				String type = "application/x-www-form-urlencoded";
				String agent = "Mozilla/5.0";
				String host = "www.meine-seite.de";
				String data = java.net.URLEncoder.encode("feld1=abc&feld2=hallo");
				conn.setDoOutput(true);
				conn.setRequestProperty( "Host", host );
				conn.setRequestProperty( "User-Agent", agent );
				conn.setRequestProperty( "Content-Type", type );
				conn.setRequestProperty( "Content-Length", "21" );
				OutputStream os = conn.getOutputStream();
				os.write(data.getBytes());
				String content = conn.getContent().toString();
				InputStream stream = conn.getInputStream();
				conn.connect();
				System.out.println( new Scanner( stream ).useDelimiter( "\\Z" ).next() );
				System.out.println(content);

			}
			catch( IOException e )
			{
				e.printStackTrace();
			}
		}
		catch ( MalformedURLException e )
		{
			e.printStackTrace();
		}
	}
}

btw: encode (String) ist deprecated

String data = URLEncoder.encode("feld1=abc&feld2=hallo","UTF-8");

ist besser.
 
Zuletzt bearbeitet:
Zurück