Я пытаюсь отправить запрос на удаленный сервер, используя метод «забей и забудь». Это мой код:
function backgroundPost($url, $data = array()){
$parts=parse_url($url);
$fp = fsockopen($parts['host'],
isset($parts['port'])?$parts['port']:80,
$errno, $errstr, 30);
if (!$fp) {
return false;
} else {
$encoded_data = json_encode($data);
$output = "POST ".$parts['path']." HTTP/1.1\r\n";
$output .= "Host: ".$parts['host']."\r\n";
$output .= "Content-Type: application/json\r\n";
$output .= "Content-Length: " . strlen($encoded_data) . "\r\n";
$output .= "Connection: Close\r\n\r\n";
$output .= $encoded_data;
fwrite($fp, $output);
fclose($fp);
return true;
}
}
//Example of use
backgroundPost('url-here', array("foo" => "bar"));
, но поступающие данные просто пусты.
Когда я запускаю приложение локально и вместо этого отправляю запрос на свой компьютер, данные приходят.
Что-то не так с этим шаблоном?
Почему он работает при отправке запроса на мою машину, но не на удаленную?
Спасибо!