PDA

View Full Version : کمک در مورد curl



teropars
یک شنبه 03 مرداد 1389, 16:54 عصر
با سلام به تمام دوستان
من یه مشکل دارم در استفاده از تابع curl

می خوام اطلاعاتی رو به یه فرم بفرستم و جواب رو دریافت کنم ولی به محض اینکه اجرا می شه پیغام object moved رو می ده
من فیلد ها رو پر می کنم ولی نمی دونم چطوری باید اون submit رو بزنم با چه دستوری

کل کدهای من به این صورت است

<?php
/*
* This script will handle the form data posted by cURL
*/

$tf_karbari = $_POST['txtUName'];
$tf_startdate = $_POST['startdate'];
$tf_enddate = $_POST['enddate'];
$tf_eventtarget = $_POST['__EVENTTARGET'];
$tf_eventargument = $_POST['__EVENTARGUMENT'];
$tf_viewstate = $_POST['__VIEWSTATE'];

/*
* Data which is to submitted to the remote URL
*/
$data = array();
$data['__EVENTTARGET'] = $tf_eventtarget;
$data['__EVENTARGUMENT'] = $tf_eventargument;
$data['__VIEWSTATE'] = $tf_viewstate;

$data['txtUName'] = $tf_karbari;
$data['startdate'] = $tf_startdate;
$data['enddate'] = $tf_enddate;




/*
* Prepare data for posting. That is, urlencode data
*/
$post_str = '';
foreach($data as $key=>$val) {
$post_str .= $key.'='.urlencode($val).'&';
}


$post_str = substr($post_str, 0, -1);





/*
* Initialize cURL and connect to the remote URL
* You will need to replace the URL with your own server's URL
* or wherever you uploaded this script to.
*/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://sales.asiatech.ir/sale/user_sessions.aspx' );


/*
* Instruct cURL to do a regular HTTP POST
*/

curl_setopt($ch, CURLOPT_POST, TRUE);

/*
* Specify the data which is to be posted
*/





curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);

/*
* Tell curl_exec to return the response output as a string
*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

/**
* Execute the cURL session
*/
$response = curl_exec($ch );

/**
* Close cURL session and file
*/
curl_close($ch );



echo $response;
?>

خواهشن کمک کنید

mohmadd
یک شنبه 03 مرداد 1389, 17:53 عصر
اگه به محتویات سایت نگاه کنی از جاوا استفاده کرده.!
مورد object moved فکر کنم از قرار ندادن کارکتر '=' باشه که اخر __VIEWSTATE نیومده.
(بدون اون مساوی برای منم اینطوری میشد).

teropars
یک شنبه 03 مرداد 1389, 18:22 عصر
دوست عزیز ممنون که جواب دادی
امکان داره واضح تر بگی
اگه ممکنه کدی که فکر می کنی درسته رو برام بزار
خیلی متشکرم

maysamscript
یک شنبه 03 مرداد 1389, 18:29 عصر
شما با ارسال پارامتر ها درواقع دکمه submit رو هم می زنید. پارامترهایی که باید ارسال بشوند اینها هستند


__EVENTTARGET=btnOK&__EVENTARGUMENT=&__VIEWSTATE=dDwtNjQ5NjgwNTI1Ozs%2BDRHNYjfOAom5RFz4 CG2I0fgJDO8%3D&txtUName=username&startdate=87%2F01%2F01&enddate=88%2F12%2F29

teropars
یک شنبه 03 مرداد 1389, 18:35 عصر
سلام به دوست گرامی
این مقادیری که شما ذکر کرده اید در صفحه html قبلی پر می شوند
ولی باز مشکل object moved رخ می دهد

من آدرس صفحه را گذاشته ام امکان دارد کل مراحل را با curl درست کنید

maysamscript
یک شنبه 03 مرداد 1389, 18:38 عصر
من آدرس صفحه را گذاشته ام امکان دارد کل مراحل را با curl درست کنیدنه امکان ندارد:چشمک:
یعنی فرصتش رو ندارم!