Автоматизирано споделяне на връзка във Svejo.net

mobilio

Well-Known Member
Предната седмица ви показах как автоматично да обновим статуса във Facebook без да влизаме въс системата. Днес ще ви покажа как да добавим нов адрес във Svejo.net с използването на същия подход...

PHP:
/*******************************
*	Svejo Status Updater
*	Peter Nikolow
*	http://peter.nikolow.me
*	March 29, 2013
*******************************/

$login_email = 'type-here-your-mail';
$login_pass = 'type-here-your-password';
$url_4submit = 'type-here-your-url';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://svejo.net/user/login');
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 600x800)");
$loginpage = curl_exec($ch);

curl_setopt($ch, CURLOPT_POST, 1);
preg_match("/input name=\"authenticity_token\" type=\"hidden\" value=\"(.*?)\"/", $loginpage, $form_authtoken);
curl_setopt($ch, CURLOPT_POSTFIELDS,'authenticity_token='.urlencode($form_authtoken[1]).'&user%5Bemail_or_username%5D='.urlencode($login_email).'&user%5Burl_referer%5D=http%3A%2F%2Fsvejo.net%2F&user%5Bremember_me%5D=0&user%5Bpassword%5D='.urlencode($login_pass).'&commut=%D0%92%D0%BB%D0%B5%D0%B7');
$loginpage = curl_exec($ch);

sleep(10);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, 'http://svejo.net/publish/');
$page = curl_exec($ch);

sleep(10);
curl_setopt($ch, CURLOPT_POST, 1);
preg_match("/input name=\"authenticity_token\" type=\"hidden\" value=\"(.*?)\"/", $page, $form_authtoken);
$formvars = array();
$formvars['authenticity_token'] = $form_authtoken[1];
$formvars['story[url]'] = $url_4submit;
$formvars['commit'] = "Добави";
curl_setopt($ch, CURLOPT_POSTFIELDS, $formvars);
curl_setopt($ch, CURLOPT_URL, 'http://svejo.net/publish/submit');
$page2 = curl_exec($ch);

curl_close($ch);
?>

Това е скриптчето - само трябва да си настроите потребителското име, паролата и линка който ще споделяте. Към днешна дата скрипта работи, но при промяна на дизайна или функционалността на сайта няма да може да си изпълнява дейността.
 

nortrant

Well-Known Member
От: Автоматизирано споделяне на връзка във Svejo.net

изглежда интересно :)
Какви са изискванията за хоста - поддържа ли по подразбиране curl или там каквото беше?
 

mobilio

Well-Known Member
От: Автоматизирано споделяне на връзка във Svejo.net

ЗАДЪЛЖИТЕЛНО трябва да има curl и prce! Всъщност почти всички го имат, но може да има изключения.

Аз го използвам на OSX 10.6.8, но работи на Linux и Windows без никакъв проблем. Всъщност е написан на PHP точно поради тази причина.
 

Горе