Цель «простая»: опубликовать сообщение на странице входа, а затем извлечь данные со страницы за пределами авторизоваться.
По данным Tamper Data, я могу сказать, что сайт, похоже, использует в основном параметры публикации для навигации по веб-странице, поэтому я делаю два запроса на завивку. Один для входа в систему и один для получения HTML-кода со страницы. На данный момент я получаю такой дамп:
string(7097) "HTTP/1.1 200 OK
Set-Cookie: sp21webs=a11a060bf1DELETED000064000000; истекает =Пн, 21 октября 2013 г., 01:47:02 GMT; path=/
Сервер: ""
Дата: Пн, 21 октября 2013 г., 01:37:01 GMT
Content-type : text/html
Последнее изменение: воскресенье, 13 октября 2013 г., 21:54:39 GMT
Длина содержимого: 6781
Этаг: «1a7d-DELETED69f»
Диапазоны приема : байты
Как выглядит HTML-страница входа в систему
Я не очень знаком с этим как работает Curl, вот мой код:
Код: Выделить всё
$submit_url = "https://okbnetplaza.com/WBIG0001.html";
$curl = curl_init();
$cookie = 'cookies.txt';
$params = array (
"__uid" => "",
"PIN" => "",
"__type" => "0001",
"__gid" => "WBIG0001",
"__func" => "%A3%CF%A3%CB",
"__func2" => "%A5%ED%A5%B0%A5%A4%A5%F3",
"RegType" => "0",
);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ) ;
curl_setopt($curl, CURLOPT_SSLVERSION,3);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_URL, $submit_url);
$result = curl_exec($curl);
var_dump($result);
curl_close($curl);
echo " Login Work????";
$urltopost = "https://okbnetplaza.com/WBIG0001.html";
$datatopost = array (
"__type" => "0033",
"__gid" => "WBIG0005",
"__func" => "%A3%CF%A3%CB",
"AccountListType" => "1",
"DispAccountInfo" => "00000000000000000000",
);
$ch = curl_init ($urltopost);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $datatopost);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$returndata = curl_exec ($ch);
var_dump($returndata);
- Я не уверен на 100 %, что URL-адреса верны, поскольку на сайте используется запутанный JS.
Мой текущий код, похоже, не проходит через страницу входа. Видите ли вы какие-либо проблемы с моими запросами на завивку, которые могли бы остановить вход в систему? Есть ли у вас желающие заставить работать вход в систему и парсинг?
Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/194 ... rl-and-php