• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
curl - auto poster
#1
سلام .

میخوام به عنوان اولین پروژه ام یه auto poster برای انجمن ها با استفاده از curl library بنويسم .

میخواستم یه ایده ی کلی به من بدید و اگر نکته مهمی توی این ضمینه به ذهنتون رسید به من بگید تا شروع کنم به نوشتن و اگر به مشکل برخوردم ( که حتما میخورم ) بیام اینجا و سوالات رو مطرح کنم -

به صورت کلی باید اینجوری باشه که اول با یوزر و پسورد لوگین میکنیم بعد به قسمت ارسال در بخش مورد نظر میریم و پست رو ارسال میکنیم . فرض کنید این کار رو میخوام روی فروم phpBB انجام بدم

کسی در این زمینه تجربه ای داره ؟

پیشاپیش ممنون Heart
  پاسخ
تشکر شده توسط :
#2
ما بیشتر به اینا میگیم spam ها
هیچ‌ انجمنی دوست نداره که یه روبات واسش پست بفرسته
  پاسخ
تشکر شده توسط :
#3
حالا هر چی شما اسمش رو میزای وحید جان -
منم زیاد از اسپم و این کار خوشم نمیاد اما دوست دارم نحوه ی کار کردن این چیزا ها رو یاد بگیرم و باهاشون کار کنم -

نمیخواید بیشتر کمکم کنید ؟
  پاسخ
تشکر شده توسط :
#4
خب مشخص هست که اید از curl استفاده‌ کنی. برای اینکار باید login‌‌ کنی و بعدش سرور کوکی هایی رو بهت میده. حالا تو این کوکی (که مشخص کننده لاگین بودنت هست) رو یه جایی ذخیره می کنی. و بعد اطلاعات برای پست رو به همراه کوکی به سرور ارسال می کنی
  پاسخ
تشکر شده توسط : HiddeN
#5
ممنون - یه کدی نوشتم که جواب نداد امشب باز بیشتر روش کار میکنم اگر به جایی نرسیدم کد رو قرار میدم تا ببینید مشکل چیه .
  پاسخ
تشکر شده توسط :
#6
اینم کد ما :

کد پی‌اچ‌پی:
<?php

$loginurl 
"http://127.0.0.1/CMS/phpBB3/ucp.php?mode=login";
$username "myusername";
$password "mypassword";
$postdata "username=$username&password=$password&login=%D9%88%D8%B1%D9%88%D8%AF";
$cookies rand(); // generate random cookies file in /tmp - bcoz with every refresh the login will fail - so ...

$ch curl_init();
curl_setopt($chCURLOPT_URL$loginurl);
curl_setopt($chCURLOPT_COOKIEFILE'/tmp/'.$cookies.'.txt');
curl_setopt($chCURLOPT_COOKIEJAR'/tmp/'.$cookies.'.txt');
curl_setopt($chCUROPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURL_HEADER0);
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$postdata);
$resutl curl_exec($ch);


// Start Posting

$posturl "http://127.0.0.1/CMS/phpBB3/posting.php?mode=post&f=2";
$ch curl_init();
$postdata = array(
    
"icon" => 6,
    
"subject" => "yup1zbabe",
    
"message" => "somethingjustfortestyouknow!",
    
"attach_sig" => "on",
    
"topic_type" => 0,
    
"topic_time_limit" => 0,
    
"post" => "ارسال"
);
curl_setopt($chCURLOPT_URL$posturl);
curl_setopt($chCURLOPT_COOKIEFILE'/tmp/'.$cookies.'.txt');
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$postdata);
$result curl_exec($ch);
print 
$result;

curl_close($ch);

?>

خیلی باهاش ور رفتم خیلی هم فکر کردم اما به جای خاصی نرسیدم - مشکل اینه که لوگین میکنه بعد لوگین phpBB به اين صورت هست كه يك پیغام میده و redirect ميشه به صفحه ای اصلی الان این کد همین کا رو انجام میده به صفحه ای اصلی هم redirect ميشه اما همونجا متوقف ميشه و كار خاصي انجام نميده -
( چند روزیه بدجوری مخم رو مشغول کرده Big Grin )

ممنون میشم کمک کنید
  پاسخ
تشکر شده توسط :
#7
از ویندوز استفاده می کنی؟
  پاسخ
تشکر شده توسط :
#8
خير - Ubuntu 8.10
  پاسخ
تشکر شده توسط :
#9
خودت روی کامپیوتر خودت یه اسکریپت الکی بساز که با ساختاری که فرض کردی مناسب باشه بعد ببین درست کار می کنه یا نه
  پاسخ
تشکر شده توسط :
#10
باید form_token را هم لحاظ کنی. Big Grin
Two hands working can do more than a thousand clasped in prayer
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان