Взгляните на эту ветку, она имеет дело с тем, что вы хотите сделать, я думаю: http://www.webmasterworld.com/php/3164561.htm
Последняя запись может быть полезна (переформатирован мной):
function do_post_request($url, $data, $optional_headers = null) {
$params = array('http' => array(
'method' => 'post',
'content' => $data
));
if ($optional_headers!== null)
$params['http']['header'] = $optional_headers;
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp)
throw new Exception("Problem with $url, $php_errormsg");
$response = @stream_get_contents($fp);
if ($response === false)
throw new Exception("Problem reading data from $url, $php_errormsg");
return $response;
}
В основном решение состоит в том, чтобы использовать встроенную обработку потока php для URL.