Допилил и проверил
function koecurl($url, $post='', $mode=array()) {
$defaultmode = array('charset' => 'utf-8', 'ssl' => 1, 'cookie' => 1, 'headers' => 1, 'useragent' => 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.10.229 Version/11.61', 'referer' => 'google.com');
foreach ($defaultmode as $k => $v) {
if (!isset($mode[$k]) ) {
$mode[$k] = $v;
}
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $mode['headers']);
curl_setopt($ch, CURLOPT_REFERER, $mode['referer']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $mode['useragent']);
curl_setopt($ch, CURLOPT_ENCODING, $mode['charset']);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 200);
if ($post) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if ($mode['cookie']) {
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt');
}
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
if ($mode['ssl']) {
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$name = 'koenig';
$password = 'tyt parol';
$post = array('n' => $name, 'p' => $password, 'mem' => 1);
$text = koecurl('http://johncms.com/login.php', $post, array('referer' => 'http://johncms.com', 'ssl' => 0, 'headers' => 1));
echo nl2br(htmlspecialchars($text));
для парсеров и прочего
вывод
HTTP/1.1 100 Continue
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Thu, 27 Jun 2013 19:32:11 GMT
Content-Type: application/xhtml+xml; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Pragma: no-cache
Cache-Control: public
Expires: Thu, 27 Jun 2013 19:33:11 +0000
Set-Cookie: SESID=di3i7pv85nn8pcpqouoei9pog4; path=/
Set-Cookie: cuid=?????; expires=Fri, 27-Jun-2014 19:32:11 GMT
Set-Cookie: cups=???????????????; expires=Fri, 27-Jun-2014 19:32:11 GMT
Location: http://johncms.com/index.php
X-Powered-By: PleskLin
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 27 Jun 2013 19:32:11 GMT
Content-Type: application/xhtml+xml; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Pragma: no-cache
Cache-Control: public
Expires: Thu, 27 Jun 2013 19:33:11 +0000
X-Powered-By: PleskLin
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="Generator" content="JohnCMS, http://johncms.com />
<meta name="keywords" content="johncms, cms, php, wap, mobile" />
<meta name="description" content="Бесплатная, с открытым исходным кодом, система управления Мобильным сайтом (WAP движок). Имеет мультиязычный интерфейс." />
<link rel="stylesheet" href="http://johncms.com/theme/varg/style.css" type="text/css" />
<link rel="shortcut icon" href="http://johncms.com/favicon.ico" />
<link rel="alternate" type="application/rss+xml" title="RSS | Новости ресурса" href="http://johncms.com/rss/rss.php" />
<title>JohnCMS 5.0.0</title>
</head><body><table style="width: 100%;"><tr><td valign="bottom"><a href="http://johncms.com"><img src="http://johncms.com/theme/varg/images/logo.gif" alt=""/></a></td><td align="right"><a href="http://johncms.com/go.php?lng"><b>RU</b></a> <img src="http://johncms.com/images/flags/ru.gif" alt=""/> </td></tr></table><div class="header"> Привет, <b>Koenig</b>!</div><div class="tmn"><a href="http://johncms.com/users/profile.php?act=office">Личное</a> | <a href="http://johncms.com/exit.php">Выход</a></div>