Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   curl и IIS - 405 Method Not Allowed (https://forum.antichat.xyz/showthread.php?t=131812)

Дикс 28.07.2009 20:32

curl и IIS - 405 Method Not Allowed
 
скачиваю курлом
http://www.destroyers.org/smrdd/USS_Harry_E._Yarnell.html

PHP код:

    $as_curl->rst();
    
$as_curl->set(CURLOPT_URLtrim($url));
    
$return $as_curl->exec(); 

ИИС возвращает 405 и не отдаёт страницу.

Нагуглил только такое:
Цитата:


405 Method Not Allowed

This error is generally caused by IIS servers that cannot properly execute a request to the .php file extension.

Common Causes:

Testing Server URL Prefix is incorrect and does not point directly into the site folder on the testing server

BlackSun 28.07.2009 21:23

Попробуй с этим:
$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');

Дикс 29.07.2009 07:50

не помогло

Gifts 29.07.2009 10:09

Дикс Смотри исходник класса, и ищи строку с CURLOPT_POST. Он должен быть 0. Он скорее всего принудительно включен

Дикс 29.07.2009 11:38

у курла странная особенность.

когда я создаю массив его опций (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

в чем может быть дело?

Gifts 29.07.2009 11:56

Дикс Вопрос в том, что именно вы задаете, пример бы.

Например такой скрипт будет отправлять ПОСТ
PHP код:

        curl_setopt_array($ch
        array(
            
CURLOPT_URL => $url,
            
CURLOPT_POSTFIELDS => ''
        
)); 

Хоть POSTFILEDS - строка нулевой длины, а CURLOPT_POST не установлен. Обычно следует не устанавливать параметры ни в какое значение, если хочется, чтобы использовались умолчания. Ну или устанавливайте параметр CURLOPT_POST _после_ POSTFIELDS

delux 30.07.2009 00:48

дело в иссе скорее даже
какая версия?


Время: 17:44