PDA

View Full Version : سوال: نحوه جابجایی اطلاعات بین سرور A و کلاینت بوسیله ی یه سرور واسط B ؟



se8820726
چهارشنبه 03 آبان 1391, 15:04 عصر
سلام
آقا من میخوام که یه کدی بنویسم که عین تمام اطلاعات header و content که از سمت کلاینت میاد به سرور B رو بگیره و با ایجاد تغییرات در content عین همون header اومده از کلاینت و content منو بفرسته برای سرور A و عین جوابی که از سمت سرور A میاد رو (header و content) بفرسته برای کلاینت

خوب اول تمام اطلاعات HEADER و CONTENT که از کلاینت میاد رو باید بتونم دریافت کنم و ببینم.
برای این کار از این کد استفاده کردم:


<?php
$url= "destination-url";

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10);

$header= getallheaders ();
$head= "<?php\r\ncurl_setopt(\$ch,CURLOPT_HTTPHEADER,array(";
for ($i=1; $i<= count ($header); $i++) {
$each= each($header);
$head.= "'".$each['key'].": ".$each['value']."',";
}
$head = substr_replace($head ,"",-1);
$head.= "));\r\n?>\r\n";

$handle= fopen('header-option.php', 'w') or die('Cannot open file: header-option.php');
fwrite($handle, $head);
fclose($handle);

include 'header-option.php';

$data = curl_exec ($ch);
curl_close ($ch);
?>


خوب تو کد بالا اطلاعات هدر رو تو متغیر header$ ذخیره کردم بعدش چون میخواستم این اطلاعات رو از طریق curl برای سرور A بفرستم باید اون ها رو تو:
curl_setopt($ch,CURLOPT_HTTPHEADER,array('header-name: value',...));
وارد میکردم. سر همین یه فایل php بنام header-option.php ساختم واین دستور رو تو اون وارد کردم بعدشم include کردم تو همین فایل php.
در آخر هم کل اطلاعات رو فرستادم برای url

حالا وقتی جواب رو میگیرم تو قسمت header ش error 404 میده.
اما اگه بدون فرستادن اطلاعات هدر کلاینت با url ارتباط برقرار کنم دیگه این error رو نمیده

چرا؟ من چه کار کنم؟ چجوری عین اطلاعاتی که از سمت کلاینت میاد رو بفرستم برای یه سرور دیگه؟

se8820726
جمعه 05 آبان 1391, 00:25 صبح
آقا کسی نبود به ما کمک کنه؟؟!!