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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Различия cURL на хостингах (https://forum.antichat.xyz/showthread.php?t=167717)

GlooK 02.01.2010 16:47

Различия cURL на хостингах
 
Странная ситуация - не пойму в чем дело.

Написан скрипт на PHP, использующий cURL.
На моем локалхосте (Linux) все сносно работает.

Заливаю на другие хостинги - болт!
Делаю запросы в RU зону - никаких данных cURL не получает, даже хидеры (например, yandex.ru, vkontakte.ru, rambler.ru).
Сделал запрос в зону .NET, ответ приходит.

Возможно ли, что хостинг ограничивает cURL?
Или какие-то настройки по дефолту не те стоят?

Deathdreams 02.01.2010 16:58

Код в студию

GlooK 02.01.2010 17:05

Цитата:

Сообщение от Deathdreams
Код в студию

PHP код:

<?php
function curl($url$post ''$binary 0) {
global 
$cookie;
$ch curl_init();
curl_setopt($chCURLOPT_URL$url); 
curl_setopt($chCURLOPT_HEADER0); 
curl_setopt($chCURLOPT_POST1); 
curl_setopt($chCURLOPT_POSTFIELDS$post); 
curl_setopt($chCURLOPT_COOKIE$cookie);
curl_setopt($chCURLOPT_BINARYTRANSFER$binary); 
curl_setopt($chCURLOPT_TIMEOUT60);
curl_setopt($chCURLOPT_FOLLOWLOCATION0); 
curl_setopt($chCURLOPT_RETURNTRANSFER1); 
$result curl_exec($ch); 
curl_close($ch);
return 
$result;}
?>

Думаю решение нашел http://icebeer.livejournal.com/19772.html
Тестирую...

Deathdreams 02.01.2010 18:00

PHP код:

<?php
function curling($url$post '') {
global 
$cookie;
$ch curl_init();
curl_setopt($chCURLOPT_URL$url); 
curl_setopt($chCURLOPT_HEADER1); 
if(!empty(
$post)){
curl_setopt($chCURLOPT_POST1); 
curl_setopt($chCURLOPT_POSTFIELDS$post); 
}
curl_setopt($chCURLOPT_COOKIE$cookie);
curl_setopt($chCURLOPT_TIMEOUT15);
curl_setopt($chCURLOPT_RETURNTRANSFER1); 
$result curl_exec($ch); 
curl_close($ch);
return 
$result;
}
?>

ну попробуйте сделать обычный запрос к гуглу:
curling('http://www.google.ru');

GlooK 02.01.2010 19:32

Хостинг: forsite.org
Запрос на www.google.com - проходит!
Запрос на www.google.ru - не проходит!

Видимо дело в хостинге.
Хостинг фришный, поэтому скорей всего и режут запросы (интересно как?)

На другом хостинге (www.abris.com.ua) тоже не работает, но там что-то другое.
К сожалению, возможности протестировать на нем не было, хост не мой.
Буду искать выходы, о результатах отпишусь.

programming 02.01.2010 19:59

Цитата:

Сообщение от GlooK
Хостинг: forsite.org
Запрос на www.google.com - проходит!
Запрос на www.google.ru - не проходит!

Видимо дело в хостинге.
Хостинг фришный, поэтому скорей всего и режут запросы (интересно как?)

На другом хостинге (www.abris.com.ua) тоже не работает, но там что-то другое.
К сожалению, возможности протестировать на нем не было, хост не мой.
Буду искать выходы, о результатах отпишусь.

Из фришных проблемы не возникают только с free-web-host.me
С другими траблы..

GlooK 02.01.2010 20:19

Цитата:

Сообщение от programming
Из фришных проблемы не возникают только с free-web-host.me
С другими траблы..

Спасибо за ссылку! Отпишусь о результатах ;)

UPD:
Скрипт заработал!
Только на хостинге не выполняется set_time_limit(0);
Из-за чего скрипт не обновляется онлайн.

Dark_Scorpicore 02.01.2010 20:54

GlooK, если бы (не дай бог) set_time_limit(0); работал, вас бы выпилили на след. день :) Представляете, сколько системных ресурсов потребуется? На всех хостах по 30-60 сек обновление стоит дефолтом, если, конечно не vds и права рута :D

mailbrush 02.01.2010 21:01

Dark_Scorpicore, ну и сколько сис. ресурсов потребуется? set_time_limit ставит всего лишь лимит время выполнения скрипта, и не больше. А кол-во пожираемых сис. ресурсов зависит от самого скрипта + на любом адекватном хостинге стоят ограничения на эти ресурсы, по этому никого и не "выпиляют".

GlooK 02.01.2010 21:08

Цитата:

Сообщение от Dark_Scorpicore
GlooK, если бы (не дай бог) set_time_limit(0); работал, вас бы выпилили на след. день :) Представляете, сколько системных ресурсов потребуется? На всех хостах по 30-60 сек обновление стоит дефолтом, если, конечно не vds и права рута :D

Ну не знай...
На iphoster.ru, хостинг за 0.7$ другой скрипт, который выполнял те же функции - работал.

UPD:
Установил Денвер. Попробовал на нем - скрипт не заработал.
Оказалось, что на денвере по умолчанию нет cURL.
Установил расширение PHP 5, и раскомментировал в php.ini строку extension.
Всё заработало! ;)


Время: 16:27