Jump to content
Sign in to follow this  
MadaraUchiha

POST?

Recommended Posts

MadaraUchiha

Hey,

I want to POST a string to my php script on my webserver.

I know its possible using WinHTTP.au3, but I am looking for a very simple way.

Something clean and neat, without specifiying Useragent, Headers etc.

I only want to POST a string to my php script and the php script should grab it...

What is the simplest/shortest solution? 


Share this post


Link to post
Share on other sites
Danyfirex

Use _WinHttpSimpleRequest

#include "WinHttp.au3"


Opt("MustDeclareVars", 1)

    ; Initialize and get session handle
    Global $hOpen = _WinHttpOpen()
    ; Get connection handle
    Global $hConnect = _WinHttpConnect($hOpen, "lcoalhost")

    ; Simple-request it...
    MsgBox(64, "Resultados del análisis", _WinHttpSimpleRequest($hConnect, "POST", "yourpage", Default, "something="hola mundo")

    ; Close handles
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)

saludos

Share this post


Link to post
Share on other sites
MadaraUchiha

I tried like this:

Autoit Script:

#include "WinHttp.au3"


    Opt("MustDeclareVars", 1)

    ; Initialize and get session handle
    Global $hOpen = _WinHttpOpen()
    ; Get connection handle
    Global $hConnect = _WinHttpConnect($hOpen, "http://[censored].com/Recieve.php")

    ; Simple-request it...
    MsgBox(64, "Resultados del análisis", _WinHttpSimpleRequest($hConnect, "POST", "http://[censored].com/Recieve.php", Default, "cmd=" & "I am a post"))

    ; Close handles
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)

and on my server:

PHP Script:

<?php
$Var = $_POST['cmd'];
file_put_contents('file.txt',$Var);
echo 'Success';
?>

But nothing happens? In the msgbox the result is 0 ?


Share this post


Link to post
Share on other sites
Danyfirex

Look:

#include "WinHttp.au3"

    Opt("MustDeclareVars", 1)

    ; Initialize and get session handle
    Global $hOpen = _WinHttpOpen()
    ; Get connection handle
    Global $hConnect = _WinHttpConnect($hOpen, "localhost")

    ; Simple-request it...
    MsgBox(64, "Resultados del análisis", _WinHttpSimpleRequest($hConnect, "POST", "/test/prueba.php", Default, "Datos=Hola Soy Daniel :)"))

    ; Close handles
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)

php code:

<?php
  if( $_POST["Datos"])
  {
   file_put_contents('Archivo.txt',$_POST['Datos']);
     echo "Bien :)";
     exit();
  }
?>

saludos

Share this post


Link to post
Share on other sites
MadaraUchiha

Thanks for your reply, but it still returns a 0 for me and nothing gets written in the file on the server? :s


Share this post


Link to post
Share on other sites
hiho

Well check whats the value of @error....

 

Return Value

Success - response data if $fGetHeaders = False (default)
                    Array if $fGetHeaders = True
                     [0] - response headers
                     [1] - response data
Failure - 0 and set @error
                    1 - could not open request
                    2 - could not send request
                    3 - could not receive response
                    4 - $iMode is not valid

Share this post


Link to post
Share on other sites
Danyfirex

:S

#include "WinHttp.au3"


    Opt("MustDeclareVars", 1)

    ; Initialize and get session handle
    Global $hOpen = _WinHttpOpen()
    ; Get connection handle
    Global $hConnect = _WinHttpConnect($hOpen, "http://[censored].com")

    ; Simple-request it...
    MsgBox(64, "Resultados del análisis", _WinHttpSimpleRequest($hConnect, "POST", "/Recieve.php", Default, "cmd=" & "I am a post"))

    ; Close handles
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)

¬¬ It should work.

Share this post


Link to post
Share on other sites
MadaraUchiha

It should, but for some reason it won't ...

 

k3ism8qk.png


Share this post


Link to post
Share on other sites
Danyfirex

 
#include "WinHttp.au3"


    Opt("MustDeclareVars", 1)

    ; Initialize and get session handle
    Global $hOpen = _WinHttpOpen()
    ; Get connection handle
    Global $hConnect = _WinHttpConnect($hOpen, "www.[censored].com") ;don't use http:// in your url

    ; Simple-request it...
    MsgBox(64, "Resultados del análisis", _WinHttpSimpleRequest($hConnect, "POST", "/Recieve.php", Default, "cmd=" & "I am a post"))

    ; Close handles
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)

saludos

Edited by Danyfirex

Share this post


Link to post
Share on other sites
MadaraUchiha

On the server is still no change (nothing gets written in the file)

but the msgbox result:

vz73y773.png

It's so huge, I can't see everything.

What does this mean? Why it won't POST in the txt file?


Share this post


Link to post
Share on other sites
BrewManNH

Is the php file called recieve.php or receive.php? Because if that file is named in English, you spelled it wrong in your script, unless you spelled it wrong on the server as well.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
MadaraUchiha

Got it now. It was a spelling mistake xD

It works now, and also, as expected, POST can send large string (tried 70k - works)

Anyone knows the limit of POST?


Share this post


Link to post
Share on other sites
Danyfirex

Anyone knows the limit of POST?

this forum is not of php. :)

Share this post


Link to post
Share on other sites
bogQ
  • Like 1

TCP server and client - Learning about TCP servers and clients connection
Au3 oIrrlicht - Irrlicht project
Au3impact - Another 3D DLL game engine for autoit. (3impact 3Drad related)



460px-Thief-4-temp-banner.jpg
There are those that believe that the perfect heist lies in the preparation.
Some say that it’s all in the timing, seizing the right opportunity. Others even say it’s the ability to leave no trace behind, be a ghost.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×