PDA

View Full Version : مشکل کد زیر چی میتونه باشه دوستان؟(سوال در مورد curl هست)



omid_student
شنبه 26 مرداد 1392, 17:18 عصر
با سلام دوستان
من شما رو خیلی اذیت میکنم ببخشید
کدی که من نوشتم کارش اینکه که نام کاربری و رمز ورود کاربری بلوگفا رو میگیره و واردش میشه
و در صورتی که تونست وارد بشه یه پست هم ثبت میکنه
این کد رو اجرا کردم چند سری اجرا شد ولی دیگه نمیشه
دوستان راهنمایی کنید میخوام برنامه مدیریت وبلاگ رو برای اندروید بنویسم

<?php
$t = loginToBlogfa('omid-note','1111111');
if ($t == 0)
echo "Please Login";
else
echo addPost("aa","aa",$t) == 1 ? "Ok Post Add" : "Error in Add Post";

function loginToBlogfa($username,$password)
{
$ch = curl_init("http://blogfa.com/Desktop/login.aspx?action=logout");
curl_setopt($ch, CURLOPT_URL, "http://blogfa.com/Desktop/login.aspx?action=logout");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,"__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTE5MDg0NDIwODAPZBYCZg9kFgJm D2QWAgIBD2QWAgIKDxYCHgdWaXNpYmxlaGRkjx%2BJzXrup5Pm Bb7orjO3FECtw9w%3D&__EVENTVALIDATION=%2FwEWBAKJ3efyCQLdltj4AQKGoN2%2B DALH2fT1CGpg1LrphU5dq96i%2FikEh9hCuN%2FL&master%24ContentPlaceHolder1%24Uid=$username&master%24ContentPlaceHolder1%24Password=$password&master%24ContentPlaceHolder1%24btnSubmit=%D9%88%D8 %B1%D9%88%D8%AF+%D8%A8%D9%87+%D8%A8%D8%AE%D8%B4+%D 9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA");
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
//print_r($response);
if (strstr($response,"Desktop/Default.aspx") != ""){
preg_match_all("@/Desktop/Default.aspx\?r=(\d+)@",$response,$m);
return $m[1][0];
}
else
return 0;
}

function addPost($title,$body,$sessionID)
{
$title = str_replace(" ","+",$title);
$body = str_replace(" ","+",$body);
$ch = curl_init("http://blogfa.com/Desktop/Post.aspx?t=$sessionID");
curl_setopt($ch, CURLOPT_URL, "http://blogfa.com/Desktop/Post.aspx?t=$sessionID");
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 50);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt ($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

curl_setopt ($ch, CURLOPT_REFERER, "http://www.blogfa.com/Desktop/Default.aspx?r=$sessionID");
curl_setopt($ch,CURLOPT_POSTFIELDS,"__VIEWSTATE=%2FwEPDwUKLTU2MzU4NzkzNQ8WCh4GQWN0aW9u BQNuZXceBlBvc3RJZAUBMB4GQ2F0Q250BQEwHgdvbGR0YWdzZR 4FdG9rZW4FCTg5MzkzOTU1M2QYAQUeX19Db250cm9sc1JlcXVp cmVQb3N0QmFja0tleV9fFgMFCGNoa0RyYWZ0BQ9jaGtBdXRvbW F0ZVRpbWUFCWNoa1N0aWNreYCnA5%2B2k80qsjLTSaZB9YA4uz zZ&__EVENTVALIDATION=%2FwEWFgLPkdTxBwL55JyzBAKrmr31CQ KR2KLTDgL8psfVDwKct7iSDAKH%2B%2BawCwKY0amlCwKZ0aml CwKa0amlCwKb0amlCwKc0amlCwKd0amlCwKA0amlCwKH%2B57% 2BDwL3h7HQDAKz2tiJCAL3gPfjAgKt2tzGDwL62tSvCALn9t%2 F2CAL0mcGrCCx71HDyJRujvyC6yHLPBaALEyVv&hasextended=false&txtTitle=$title&txtContent=$body&txtExtended=&btnSave=%D8%AB%D8%A8%D8%AA+%D9%85%D8%B7%D9%84%D8%A 8+%D9%88+%D8%A8%D8%A7%D8%B2%D8%B3%D8%A7%D8%B2%DB%8 C+%D9%88%D8%A8%D9%84%D8%A7%DA%AF&txtTag=&cmbCommentType=9&txtDay=26&txtMonth=05&txtYear=1392&txtMinute=52&txtHour=10&chkAutomateTime=on&txtPostPW=");
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (strstr($response,"302") != "")
return 0;
else
return 1;
}
?>

ali2k5
شنبه 26 مرداد 1392, 20:48 عصر
من قبلا این برنامه رو نوشتم راه حل مشکل شما اول باز کردن یک صفحه تو بلاگفا هست بعد اون قسمت پست فیلد مقادیری داره که باید از توی سورس صفحه بخونید و جایگزین کنید بقیش هم که همین کاری که کردید جواب میده.