Итак, я пишу скрипт для cURL, и скрипт эмулирует мой браузер повсюду. Но я все еще получаю сессию, это неверная ошибка. Я просматривал хромированную консоль и увидел две ошибки, говоряcURL в обход той же политики происхождения
«SecurityError: Blocked кадра с началом» http://localhost
«от доступа кадра с началом» http://edugen.wileyplus.com «Протоколы, домены и порты должны соответствовать»
«Uncaught SecurityError: Blocked кадра с началом» http://edugen.wileyplus.com «от доступа кадра с началом» http://localhost
«Протоколы, домены и порты должны соответствовать»
Я смотрел эту ошибку, и я получил некоторую информацию о том, как он должен делать с хромом, больше не разрешая кадры или что-то в этом роде, но я сомневаюсь, что это потому, что ссылки на консоль эти две строки кода.
var win = self;
while (typeof(win.isLTIRoot) == 'undefined' && win.parent != null && win.parent != self && win.parent != win)
и это один
function setSTNOnLoadListener(wnd) {
setSTNFrameOnLoadListener(wnd, wnd.document.getElementsByTagName('frame'));
setSTNFrameOnLoadListener(wnd, wnd.document.getElementsByTagName('iframe'));
}
Так что стратегия, которую я должен использовать с Curl, и что именно является проблемой.
Edit: Более подробно и локон код
Так что я пытаюсь войти в веб-сайт и получить мэйнфреймов. Весь процесс утомительный, поскольку я должен следить за 9 заголовками местоположений, и все идет хорошо, но когда я наконец добираюсь до веб-страницы, я получаю сообщение об ошибке «ваша сессия недействительна».
вот скругленный код последней страницы для мэйнфрейма.
$ch = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => FALSE, // Setting cURL to follow 'location' HTTP headers
CURLOPT_URL => $url9,
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0",
CURLOPT_STDERR => $verbose = fopen('php://temp', 'rw+'),
CURLOPT_VERBOSE => TRUE,
CURLOPT_HTTPHEADER => array(
'Host: edugen.wileyplus.com',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: en-US,en;q=0.5'
),
CURLOPT_CAINFO => dirname(__FILE__)."\cacert.pem",
CURLOPT_HEADER => TRUE,
CURLOPT_COOKIEJAR => $ckfile,
CURLOPT_COOKIEFILE => $ckfile
));
if(! $tenth_page = curl_exec($ch))
{
trigger_error(curl_error($ch));
}
$urlEndpoint = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
echo "Verbose information:\n<pre>", !rewind($verbose), htmlspecialchars(stream_get_contents($verbose)), "</pre>\n";
curl_close($ch);
$tenth_page = str_replace("src=\"","src=\"http://edugen.wileyplus.com",$tenth_page);
echo $tenth_page;
Какая ошибка безопасности окна js связана с завитком? – dandavis
завиток «iFrame» - это локальный хост и сайты «iFrame» - это wileyplus. Я помещаю iFrame в кавычки, потому что я все еще не уверен, что это такое. – grasshopper
покажите нам код завитка и объясните, что вы пытаетесь сделать лучше. – dandavis