Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Кто подскажет как автоматически сделать пост на odnoklassniki.ru
а что мешает отправить сообщение вручную, подсмотреть куки и прочие моменты в сниффере и на php через curl сделать то же самое ?
id можно получить съэмулировав логин пользователя в одноклассники.
<?php
class Odnoklassniki_API {
public function __construct($email, $passwd)
{
$this->email = $email;
$this->passwd = $passwd;
if (isset($this->email) && isset($this->passwd))
{
// autenticate the user
if ( ! $this->authenticate())
{
throw new Exception('Failed to authenticate, please check your email and password.');
}
}
}
private function authenticate()
{
$postdata = array(
'st.email' => $this->email,
'st.password' => $this->passwd,
'...' => '...'
);
$response = $this->post_to("http://www.odnoklassniki.ru", $postdata);
//process the response;
if ($response)
{
// Проверка ответа authenticate?
var_dump($response);
return true;
}
return false;
}
private function post_to($url, $data=array(), $header=array())
{
//check that the url is provided
if ( ! isset($url))
{
return FALSE;
}
//send the data by curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
if (count($data) > 0)
{
//POST METHOD
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
else
{
$header[] = array("application/x-www-form-urlencoded");
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if($info['http_code'] == 200)
{
return $response;
}
elseif ($info['http_code'] == 400)
{
throw new Exception('Bad request - '.$response);
}
elseif ($info['http_code'] == 401)
{
throw new Exception('Permission Denied - '.$response);
}
else
{
return FALSE;
}
}
вы проснифали протокол общения между браузером и однокласниками ? видно что нет.Вот вам простой класс для авторизации через curl у меня съэмулировать не получилось, мне кажется без API не обойтись
class Odnoklassniki_API {
public function __construct($email, $passwd)
{
$this->email = $email;
$this->passwd = $passwd;
$this->user_agent = $_SERVER['HTTP_USER_AGENT'];
if (isset($this->email) && isset($this->passwd))
{
// autenticate the user
if ( ! $this->authenticate())
{
throw new Exception('Failed to authenticate, please check your email and password.');
}
}
}
private function authenticate()
{
$postdata = array(
'st.redirect' => '',
'st.posted' => 'set',
'st.email' => $this->email,
'st.password' => $this->passwd,
'st.screenSize' => '',
'st.browserSize' => '',
'st.flashVer' => ''
);
$response = $this->post_to("http://www.odnoklassniki.ru/dk?cmd=AnonymLogin&st.cmd=anonymLogin&tkn=2039", $postdata);
//process the response;
if ($response)
{
// Проверка ответа authenticate?
var_dump($response);
return true;
}
return false;
}
private function post_to($url, $data=array())
{
//check that the url is provided
if ( ! isset($url))
{
return false;
}
//send the data by curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
if (count($data) > 0)
{
//POST METHOD
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
$response = curl_exec($ch);
curl_close($ch);
return $response
}