انتقال داده از یک سایت به سایت دیگه

RHamidR

New Member
با سلام خدمت همه اساتید گرام
من یه صفحه دارم که میخوام اطلاعات مثلا وارد شده کاربر رو به یه سایت دیگه بفرسته با روش Post بفرسته البته.
درضمن من تو اون سایت دیگه نمیتونم کد مد بزارم و هیچ تغییری بدم.
حالا این ارسال اطلاعاتی که من میگم یجوری باشه که با کامپیوتر و اینترنت کاربری که اطلاعات رو وارد کرده انجام نشه. یعنی خودش جدا از کاربر، خودکار بعد از اینکه کاربر دکمه ارسال رو زد اطلاعات رو به یه صفحه دیگه بفرسته.
جوابی که از سایت مقابل میاد زیاد واسم مهم نیست ولی اگه یه روشی باشه که پیامی که به کاربران خودش میده رو من اینجا پیاده سازی کنم فوق العاده بهتر میشه
یه مشکل فوری فوتی هستش خواهشا سریعا جواب بدید ممنون
 
آخرین ویرایش:

RHamidR

New Member
خب دادای گلم یه منبع تو اینترنت معرفی کن یا خودت یه آموزشی رو بده همینجا بصورت کامل البته تا حد راه افتادن کار من.
حالا یه مشکلی هست. تا اونجایی که من فهمیدم این تابع، عمل یا هرچی تو هر هاستی فعال نیست
درضمن هاست من از اون رایگاناست.

یه سوال دیگه که دارم اینه که این چیزی که معرفی کردی، اگه سایتی که میخوایم اطلاعات رو بهش بفرستیم ف.ی..ل...ت....ر بود اطلاعات فرستاده میشه با این تفاسیر که هاست ما تو سرور خارجی هستش و کاربر ما هم ایرانی...
ممنون از پاسخی که دادی و خواهی داد.

درضمن یه چیزی هم که یادم رفت اینه که کاربر اصلا هیچ بویی نبره که این اطلاعات یه جای دیگه رفته و...
 
آخرین ویرایش:

sajadmaz

Member
اگه curl فعال نیست از pear request استفاده کن

کاری به ف ی ل ت ر نداره چون سرورت خارج هست و درخواست از بیرون میره
 

RHamidR

New Member
خب پس دادا حالا که خودت آموزش نمیدی یه منبع یا چیزی نمیخوای بگی سریع دست به کار بشیم
 

RHamidR

New Member
اگه کسی باشه کمک کنه من هنوزم منتظرما
تو سایتای فارسی گشتم با curl که خوب توضیح نداده بودن
درضمن اگه زحمتی نیست بتونید کدش رو برام اینجا بزارید واقعا واقعا ممنون میشم.
به سرور test.com وضل بشه
پنج متغیر data1 و data2 و data3 و data4 و data5 با مقادیر value1 و value2 و value3 و value4 و value5 بفرسته
بصورت post


با soap امتحان کردم فکر کنم یه چیزی تو مایه های XML میخواد یا یه همچین چیزی
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.test.com/' : Premature end of data in tag html line 2 in /home/a329****/public_html/datasend.php:7 Stack trace: #0 /home/a329****/public_html/datasend.php(7): SoapClient->SoapClient('http://www.test...') #1 {main} thrown in /home/a329****/public_html/datasend.php on line 7





یه کد بصورت socket دارم که نمیدونم پشتیبانی میشه یا نه خودم هم سر در نمیارم اگه میشه یکی بگه و اگه شد کدش رو بصورت درخواستی که بالا دادم خواهشا تغییر بده ممنون میشم.



<?php
$url = $_POST['url'];
$referer=$_Post['referer'];
$_data = $_POST['data'];
function PostRequest($url, $referer, $_data) {
$data = array();
while(list($n,$v) = each($_data)){ $data[] = "$n=$v"; }
$data = implode('&', $data);
$url = parse_url($url);
if ($url['scheme'] != 'http') { die('Only HTTP request are supported !'); }

$host = $url['host'];
$path = $url['path'];
$fp = fsockopen($host, 80);
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);
/*
$result = '';
while(!feof($fp)) {
// receive the results of the request
$result .= fgets($fp, 128);
}
*/
// close the socket connection:
fclose($fp);

// split the result header from the content
//$result = explode("\r\n\r\n", $result, 2);

//$header = isset($result[0]) ? $result[0] : '';
//$content = isset($result[1]) ? $result[1] : '';

// return as array:
//return array($header, $content);
}



/*
** The example:
*/

// submit these variables to the server:
$data = array(
'test' => 'foobar',
'okay' => 'yes',
'number' => 2
);

// send a request to example.com (referer = jonasjohn.de)
list($header, $content) = PostRequest(
"http://www.example.com/",
"http://www.jonasjohn.de/",
$data
);

// print the result of the whole request:
//print $content;

// print $header; --> prints the headers
?>منبع: How to do a POST request (http://www.jonasjohn.de/snippets/php/post-request.htm)

واقعا ممنون میشم
 
آخرین ویرایش:

sajadmaz

Member
PHP:
require_once('Request.php');

$request = & new HTTP_Request('http://site.com/post.php');
          $request->setMethod(HTTP_REQUEST_METHOD_POST);
           $request->addPostData("argument",$postdata);
          if(!PEAR::isError($request->sendRequest()))
          {
          	$response = $request->getResponseBody();

          }

فایل request.php رو هم از سایت pear.php.net بگیر موفق باشی
 

پیوست ها

  • pear.zip
    27.7 کیلوبایت · بازدیدها: 3
آخرین ویرایش:

RHamidR

New Member
داداش جونم این خطا رو میده نمیدونم چیکارش کنم
Warning: require_once(_DIR_/Library/PEAR.php) [function.require-once]: failed to open stream: No such file or directory in /home/a329****/public_html/pear/Request.php on line 50
Fatal error: require_once() [function.require]: Failed opening required '_DIR_/Library/PEAR.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/a329****/public_html/pear/Request.php on line 50

خواهش میکنم جواب دادن رو ننداز واسه دو روز بعد
 

RHamidR

New Member
داداش اون که درست شد ممنون کار هم میکنه شرمنده سوال رو ویرایش نکردم
یه دنیا ممنون
سرت رو که درد نیاوردم دادا؟
من الان تمامی کارها رو انجام دادم و همش هم بخوبی کار میکنه ولی یه مشکلی اینجا هست
من وقتی که captcha ی فرمی که تو سایت قرار دادم تا به صفحه اصلیه بفرسته رو میزنم خطای invalid captcha میده فکر کنم این وسط این captcha یه بار دیگه لود میشه!!!!؟؟؟؟؟؟
درضمن سایت اصلی از captcha ی گوگل استفاده کرده.
اینو هم بگم که وقتی فرمی که دارم (همون فرم post و get در html) رو به سایت اصلی وصل میکنم خطای Invalid Captcha رو نمیده و عملیات با موفقیت انجام میشه. ولی وقتی به صفحه php خودم تغییر میدم خطایی که گفتم رو میده و اینکه متغیر ارسالی captcha رو هم درست نوشتم چون اگه اسم متغیر اشتباه باشه یا captcha یی که کاربر باید بده خالی باشه خود سایت اصلی میگه که Enter captcha و اینجور چیزا. (یعنی وقتی خودم خالیش میزارم میگه Please enter captcha و وقتی هم که پرش میکنم البته درست ولی میگه Invalid captcha که یعنی اسم متغیر درسته)
حالا نمیدونم این وسط captcha بازم لود میشه یا داده های ارسالی من encrypt ی چیزی میشه.

دست گلت درد نکنه اگه به این سوال هم جواب بدی ممنون میشم
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا