PHP İle Header Post
Header verisini değiştirerek post etmek, bazı uygulamalarda lazım olabilir. Bana lazım olmuştu ve bu yazıda verdiğim kodu kullanarak çözüm üretmiştim.
Bunun için şöyle bir fonksiyon yazalım.
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;
}
Bu fonksiyonda, parametre olarak verilen $url adresine $data verileri, $optional_headers opsiyonel başlığı kullanılarak POST edilebiliyor. Geriye, gelen veriyi döndürüyor. Bu fonksiyon için örnek bir kullanım şu şekildedir:
$posturl = ‘http://www.domainname.com/example.php’);
$postvars= ‘username=’.$uname.’&pass=’.$upass);
$opshdr=”Host: www.domainname.com”;
$opshdr.=”\nKeep-Alive: 300″;
$opshdr.=”\nConnection: keep -alive”;
$opshdr.=”\nReferer: http://www.domainname.com”;
$opshdr.=”\nContent-Type: application/x-www-form-urlencoded”;
$cdata=”Gelen Veri : “.do_post_request($posturl, $postvars, $opshdr);

