Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[java] met php naar server schrijven

zegwaard
4 antwoorden
  • Ik heb een php script in combinatie met een URLConnectie in een java-applet, die er voor moet zorgen dat je vanuit het applet in een file kan schrijven:
    php:
    [php]
    <?
    $fd = fopen("moves.dat","a+");
    fputs($fd,"
    ".$move);
    fclose ($fd);

    $fd = fopen("moves.dat","r");
    while (!feof ($fd)) {
    $buffer = fgets($fd, 4096);
    echo $buffer;
    }
    fclose ($fd);
    ?>
    [/php]

    java:
    [code:1:a19a143cc9]
    URL ur = new URL(this.getCodeBase()+"phpWriter.php");
    HttpURLConnection co = (HttpURLConnection) ur.openConnection();
    co.setRequestMethod("POST");
    co.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
    co.setAllowUserInteraction(false);
    co.setDoOutput(true);

    OutputStream out = co.getOutputStream();
    PrintWriter pw = new PrintWriter(out);
    pw.print("move="+m);
    pw.flush();
    pw.close();
    [/code:1:a19a143cc9]

    Als ik het script direct in de browser aanroep en een var meegeef werkt dat gewoon. Het applet doet echter niks.
    Lezen lukt wel.

    Iemand suggesties?
  • probeer na het posten een InputStream te verkrijgen.
    zo maak je de kenbaar dat je klaar bent met het versturen (end of stream) van de data

    bijv.:
    [code:1:0c568267b6]
    try
    {
    URL url = new URL(getCodeBase() + "whatever.[ext]");
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    connection.setDoOutput(true);
    connection.setDoInput(true);

    byte[] data = new String("key=value").getBytes();

    OutputStream out = connection.getOutputStream();
    out.write(data);
    out.close();

    InputStream in = connection.getInputStream();
    in.close();
    }
    catch (Exception ex)
    {
    System.err.println(ex);
    ex.printStackTrace(System.err);
    }
    [/code:1:0c568267b6]
  • Waar heb ik deze vraag eerder gezien? ;)
  • betreft het hier ook een crosspost?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.