Я пытаюсь вызвать URL-адрес на странице на удаленном сайте. Решил использовать завиток. На удаленном сайте urar urars отображаются как:
$_REQUEST Array ( [var1] => val1 [amp;var2] => val2 [amp;var3] => val3 )
вызываемый URL:
http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3
Обратите внимание, что я не использую &
в URL-адресе, но запрос глобального имеет его, или почти – у него есть amp;
вместо &
и не так, как я использовал !!! Не то, чтобы у него были какие-то из них.
Объект curl вошел в форму, установил файлы cookie, разместил форму на другой странице, и теперь это последняя ссылка, которую я должен соблюдать.
вот php я использую:
curl_setopt($this->ch, CURLOPT_URL, "http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3"); curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($this->ch, CURLOPT_REFERER, "http://site.com/"); curl_setopt($this->ch, CURLOPT_VERBOSE, 1); curl_setopt($this->ch, CURLOPT_COOKIEJAR, $this->cookie); curl_setopt($this->ch, CURLOPT_COOKIEFILE, $this->cookie); curl_setopt($this->ch, CURLOPT_POST, 0); curl_setopt($this->ch, CURLOPT_HTTPGET, 1); $output = curl_exec($this->ch); $info = curl_getinfo($this->ch);
После этого я запустил еще один запрос на завивку, и я все еще зарегистрирован, поэтому проблема не в том, что это файлы cookie. Поскольку последний запрос (форма входа), используемый $ _POST, установил CURLOPT_POST равным 0, а CURLOPT_HTTPGET – 1. Вот результат из $ info:
info Array ( [url] => http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3 [content_type] => text/html; charset=utf-8 [http_code] => 403 [header_size] => 403 [request_size] => 541 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.781186 [namelookup_time] => 3.7E-5 [connect_time] => 3.7E-5 [pretransfer_time] => 4.2E-5 [size_upload] => 1093 [size_download] => 3264 [speed_download] => 4178 [speed_upload] => 1399 [download_content_length] => 3264 [upload_content_length] => 0 [starttransfer_time] => 0.781078 [redirect_time] => 0 [certinfo] => Array ( ) )
если я копирую и прошлю $ info ['url'] в браузер, он работает. Полностью потерянные, потерянные часы на часах, любая помощь будет оценена;)