You are here

function _recaptcha_http_post in reCAPTCHA 8

Same name and namespace in other branches
  1. 5.2 recaptcha/recaptchalib.php \_recaptcha_http_post()
  2. 6 recaptcha-php-1.11/recaptchalib.php \_recaptcha_http_post()
  3. 7 recaptcha-php-1.11/recaptchalib.php \_recaptcha_http_post()

Submits an HTTP POST to a reCAPTCHA server

Parameters

string $host:

string $path:

array $data:

int port:

Return value

array response

1 call to _recaptcha_http_post()
recaptcha_check_answer in recaptcha-php-1.11/recaptchalib.php
Calls an HTTP POST function to verify if the user's guess was correct

File

recaptcha-php-1.11/recaptchalib.php, line 67

Code

function _recaptcha_http_post($host, $path, $data, $port = 80) {
  $req = _recaptcha_qsencode($data);
  $http_request = "POST {$path} HTTP/1.0\r\n";
  $http_request .= "Host: {$host}\r\n";
  $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n";
  $http_request .= "Content-Length: " . strlen($req) . "\r\n";
  $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
  $http_request .= "\r\n";
  $http_request .= $req;
  $response = '';
  if (false == ($fs = @fsockopen($host, $port, $errno, $errstr, 10))) {
    die('Could not open socket');
  }
  fwrite($fs, $http_request);
  while (!feof($fs)) {
    $response .= fgets($fs, 1160);
  }

  // One TCP-IP packet
  fclose($fs);
  $response = explode("\r\n\r\n", $response, 2);
  return $response;
}