скачиваю курлом http://www.destroyers.org/smrdd/USS_Harry_E._Yarnell.html PHP: $as_curl->rst(); $as_curl->set(CURLOPT_URL, trim($url)); $return = $as_curl->exec(); ИИС возвращает 405 и не отдаёт страницу. Нагуглил только такое:
Попробуй с этим: $as_curl->set(CURLOPT_POST, 0); $as_curl->set(CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5');
Дикс Смотри исходник класса, и ищи строку с CURLOPT_POST. Он должен быть 0. Он скорее всего принудительно включен
у курла странная особенность. когда я создаю массив его опций (CURLOPT_POSTFIELDS, CURLOPT_POST и т.п.) и задаю их через curl_setopt_array($this->ptr, $this->options); он работает так, словно CURLOPT_POST = 1 хотя при распечатке опций прямо перед exec видно, что он = 0 если же добавить строку curl_setopt($this->ptr, CURLOPT_POST, 0); напрямую перед exec - только тогда всё нормально. тоже самое бывало у меня и с другими опциями, типа CURLOPT_RETURNTRANSFER в чем может быть дело?
Дикс Вопрос в том, что именно вы задаете, пример бы. Например такой скрипт будет отправлять ПОСТ PHP: curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_POSTFIELDS => '' )); Хоть POSTFILEDS - строка нулевой длины, а CURLOPT_POST не установлен. Обычно следует не устанавливать параметры ни в какое значение, если хочется, чтобы использовались умолчания. Ну или устанавливайте параметр CURLOPT_POST _после_ POSTFIELDS