file_get_contents от URL, который только доступен после входа в систему веб-сайта

Текущая конфигурация, используемая для определения того, какие ресурсы следует извлечь, доступна из объекта «112» ресурсов:

getResources().getConfiguration().orientation;

Вы можете проверить ориентацию, посмотрев на ее значение:

int orientation = getResources().getConfiguration().orientation;
if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
    // In landscape
} else {
    // In portrait
}

Дополнительную информацию можно найти в Android Developer .

10
задан sincospi 4 July 2009 в 14:30
поделиться

2 ответа

Curl хорошо подходит для этого. Вам не нужно делать ничего особенного, кроме установки параметров CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE . После того, как вы вошли в систему, передав поля формы с сайта, файл cookie будет сохранен, и Curl будет автоматически использовать тот же файл cookie для последующих запросов, как показано в примере ниже.

Обратите внимание, что функция ниже сохраняет файлы cookie в cookies / cookie.txt , поэтому убедитесь, что каталог / файл существует и в него можно записать.

$loginUrl = 'http://example.com/login'; //action from the login form
$loginFields = array('username'=>'user', 'password'=>'pass'); //login form field names and values
$remotePageUrl = 'http://example.com/remotepage.html'; //url of the page you want to save  

$login = getUrl($loginUrl, 'post', $loginFields); //login to the site

$remotePage = getUrl($remotePageUrl); //get the remote page

function getUrl($url, $method='', $vars='') {
    $ch = curl_init();
    if ($method == 'post') {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
    }
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies/cookies.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies/cookies.txt');
    $buffer = curl_exec($ch);
    curl_close($ch);
    return $buffer;
}
16
ответ дан 3 December 2019 в 22:01
поделиться

Расширение http pecl может сделать это, также PEAR :: HTTP_Client , Snoopy и многие другие библиотеки / классы . Если вы (по какой-либо причине) хотите добиться этого с помощью file_get_contents , вы можете использовать параметры контекста потока для http-оболочки , чтобы установить параметры POST и cookie и stream_get_meta_data для чтения заголовков ответов, включая файлы cookie.

0
ответ дан 3 December 2019 в 22:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: