Announcement

Collapse
No announcement yet.

Sending a POST Request Using a URL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sending a POST Request Using a URL

    Hallo,

    ich schicke einen Request per Post über den folgenden Code mit zwei Parametern bzw. Daten.

    Es scheint zu funkz. aber warum werden dann die geschickten Daten in der Ziel-Adresse, wenn ich sie aufrufe, nicht angezeigt.

    Vielen Dank und gruß
    Messmar

    HTML Code:
    <%@page import="java.util.*"%> 
    <%@page import="java.io.*" %>
    <%@page import="java.net.*" %>
    
    <%
    try {
            // Construct data
            String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
            data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
        
            // Send data
            URL url = new URL("http://localhost:8080/forms/test.jsp");
    		
            URLConnection conn = url.openConnection();
    		
            conn.setDoOutput(true);
    		
            OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    		
            wr.write(data);
            wr.flush();
        
            // Get the response
            BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = rd.readLine()) != null) {
                out.println(line);
            }
            wr.close();
            rd.close();
        } 
    		catch (Exception e) {
        }
    %>
    	

    Code der Ziel-Datei:

    HTML Code:
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    
    Wert 1: <c:out value="${param.key1}" />
    <br>
    Wert 2: <c:out value="${param.key2}" />

  • #2
    Originally posted by Mssmar View Post
    ...Es scheint zu funkz. aber warum werden dann die geschickten Daten in der Ziel-Adresse, wenn ich sie aufrufe, nicht angezeigt.
    Weil nur bei einem HTTP-Get die Daten direkt in der URL übermittelt werden. Bei Post steht in der URL nur die Referenz des verabeitenden Scriptes - die Daten selbst werden in einer speziellen Section des HTTP-Headers übermittelt.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo Mssmar,

      Falk hat's eh schon beantwortet.

      Ich möchte noch etwas bemerken:

      Verwende zb HttpURLConnection, dann hast Du die Eigenschaft setRequestMethod mit der Du die Methode des Rq beeinflussen kannst. Mit einem Protokollanalyzer kannst Du dann den generierten RQ einfach mit einem RQ vom Browser vergeleichen und wenn nötig korrekturen durchführen.

      Der noch bessere Weg:

      http://jakarta.apache.org/httpcompon...ttpclient-3.x/
      http://jakarta.apache.org/httpcompon...hods/post.html

      noch einfacher gehts nicht mehr!

      lg Dietmar

      Comment

      Working...
      X