Пожалуйста, вы можете попробовать этот код?
$requestBody can be an array, querystring, json or else according to your request headers and the request handler which will recieve your http request.
contents of the test-curl.php:
<?PHP
error_reporting();
ini_set('display_errors', 'On');
function makeRequest($url, $requestBody)
{
$handle = curl_init();
$headers = array(); //array of request headers
//Example headers for standart browser request
//$headers = array(
// 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($handle, CURLOPT_POST, 1);
curl_setopt($handle, CURLOPT_POSTFIELDS, $requestBody);
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_HEADER, 1); //This means include headers in response
$result = curl_exec($handle);
$header_size = curl_getinfo($handle, CURLINFO_HEADER_SIZE);
$responseHeaders = substr($result, 0, $header_size);
$responseBody = substr($result, $header_size, strlen($result) - $header_size);
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if ($httpCode == 200)
return $responseBody;
else
throw new Exception($responseBody);
}
$method = $_SERVER["REQUEST_METHOD"];
if ($method == "GET") {
$request = array();
$request["a"] = "1";
$request["b"] = "3";
$request["c"] = "4";
$request["d"] = "7";
//$request = "a=1&b=3&c=4&d=7"; //This is the same with array version for standart post request.
$response = makeRequest("http://localhost/test-curl.php", $request);
echo $response;
} else {
print_r($_POST);
}
?>
Если вы запустите тест-curl.php с http://localhost/test-curl.php URL будет сделать пост запрос на себя, и вы увидите print_r вывод $ Массив _POST. Что-то вроде ниже;
Array ([a] => 1 [b] => 3 [c] => 4 [d] => 7)
Надеюсь, это вам поможет.
Какая ошибка у вас? Какой результат вы ожидаете? Откуда вы знаете, что он не отправляет данные? – Ben
Не получается ошибка, просто строка не отправлена –
Существует множество вопросов вроде этого ... Например [это] (http://stackoverflow.com/questions/2138527/php-curl-http-post-sample- код? RQ = 1). – Smar