• Publicidad

Ayuda con función en Delphi

Todo lo relacionado con lenguajes de programación distintos de Perl: PHP, Java, C++, Ruby, Python, etc.

Ayuda con función en Delphi

Notapor BigBear » 2013-09-21 17:14 @759

Tengo el siguiente código en Delphi :

Sintáxis: [ Descargar ] [ Ocultar ]
Using delphi Syntax Highlighting
  1.     function Check(const UserAgent: string; const Server: string; const Resource: string; const Data: AnsiString): string;
  2.     var
  3.       hInet: HINTERNET;
  4.       hHTTP: HINTERNET;
  5.       hReq: HINTERNET;
  6.       Buffer: array[0..1023] of AnsiChar;
  7.       i, BufferLen: Cardinal;
  8.     const
  9.       accept: packed array[0..1] of LPWSTR = (PChar('*/*'), nil);
  10.       header: string = 'Content-Type: application/x-www-form-urlencoded';
  11.     begin
  12.       Result := '';
  13.      
  14.       hInet := InternetOpen(PChar(UserAgent), INTERNET_OPEN_TYPE_PRECONFIG,
  15.         nil, nil, 0);
  16.       try
  17.         hHTTP := InternetConnect(hInet, PChar(Server), INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
  18.         try
  19.           hReq := HttpOpenRequest(hHTTP, PChar('POST'), PChar(Resource), nil, nil, @accept, 0, 1);
  20.           try
  21.             if not HttpSendRequest(hReq, PChar(header), Length(header), PChar(Data), Length(Data)) then
  22.               raise Exception.Create('HttpOpenRequest failed. ' + SysErrorMessage(GetLastError));
  23.             repeat
  24.               InternetReadFile(hReq, @Buffer, SizeOf(Buffer), BufferLen);
  25.               if BufferLen = SizeOf(Buffer) then
  26.                 Result := Result + AnsiString(Buffer)
  27.               else if BufferLen > 0 then
  28.                 for i := 0 to BufferLen - 1 do
  29.                   Result := Result + Buffer[i];
  30.             until BufferLen = 0;
  31.           finally
  32.             InternetCloseHandle(hReq);
  33.           end;
  34.         finally
  35.           InternetCloseHandle(hHTTP);
  36.         end;
  37.       finally
  38.         InternetCloseHandle(hInet);
  39.       end;
  40.     end;
  41.      
  42.  
  43. Memo1.Lines.Add(Check('Agente','localhost','pos.php','probar=test+submit=Now'));
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4


Mi duda está en el tercer argumento en el cual tengo que poner los datos para POST:

'probar=test+submit=Now'

El código del archivo pos.php es

Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. <form action='' method=POST>
  2. <input type=text name=probar value=test>
  3. <input type=submit name=control value=Now>
  4. </form>
  5. <br><br>
  6.  
  7. <?php
  8. if (isset($_POST['control'])) {
  9. echo $_POST['probar']."<br>";
  10. }
  11. ?>
  12.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


La pregunta es: ¿cómo ordeno el tercer argumento para que el formulario funcione bien?

¿ Alguien me puede ayudar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Volver a Programación en general

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados