PDA

View Full Version : حرفه ای: مشکل با پست کردن یک مقدار با curl



us1234
دوشنبه 19 اسفند 1392, 20:58 عصر
سلام دوستان
من به یک مشکل خیلی خاص برخوردم . یک فرم هست که اگه 1 بار یوزر و پس را اشتباه زده بشه دفعه بعد کد کپتچا نمایان میشه و از یوزر اون کد گرفته میشه . این قسمت مشکلی نداره . من با فرم که توی یک فایل اچ تی ام ال درست کردم مقدار های یوزر و پس و کپتچا را میفرستم نهایت یک ارور به فرمت JSON میده که کپتچا وارد شده صحیح نیست ولی وقتی همین کار را با CURL انجام میده اصلا کپتچا را پست نمیکنه ( پست میشه ولی سرور قبول نمیکنه ! ) و ارور میده کپتچا را وارد کنید .
کد های زیر را نگاه کنید :

اچ تی ام ال :



<form action="http://site.com/login-process.php" method="post">
<input type="text" name="captcha"/>
<input class="button" type="submit" id="submit" value="Sign In">
</form>

در کد بالا به هر مقداری به کپتچا فرستاده شود به سرور ارسال میشه و نهایت ارور میده که کپتچا اشتباه است .

کد پی اچ پی :



$data = array('user' => 'value','pass' => 'value','captcha' =>'dawdewad');
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS,$data);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);


echo $response = curl_exec( $ch );
//var_export(curl_getinfo($ch));
curl_close($ch);

در این کد مقدار کپتچا به سرور ارسال نمیشود ( مقدار وارد شده برای یوزر و پس ارسال می شود و مشکل ندارد ولی ارور کپتچا وارد نشده است را میدهد)
من دیتا را به شکل رشته مثل زیر هم ارسال کرده ام :
$myvars = 'captcha =dawdewad&user=11&pass=22';

و حتی به شکل فایل و ست کردن هدر و پست هم این کار را انجام داده ام در همه روش ها یوزر و پس اوکی میشه ( یعنی ارسال میشه ) ولی کپتچا ارسال نمیشه ( کاری به درستی یا نادرستی ندارم وقتی نادرست ارسال بشه ارور میده که کپتچا اشتباه است وقتی ارسال نشده باشد ارور میده که کتپچا را وارد کنید).

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

us1234
دوشنبه 19 اسفند 1392, 23:16 عصر
برنامه نویسان گرامی نظر خاصی ندارند ؟ :افسرده: