Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Работа с HTTP
Форумы портала PHP.SU » PHP » Программирование на PHP » Работа с HTTP

Страниц (2): [1] 2 »
 

1. Fet - 02 Мая, 2007 - 14:52:50 - перейти к сообщению
Граждане, подсобите!

Делаю

PHP:
скопировать код в буфер обмена
  1.  
  2. $f = file_get_contents ('http://www.some_site.ru/link.php?site_id=2');
  3. echo $f;
  4.  


А он, редиска, мне в ответ - 400 Bad Request.

Пробовал и через fopen и fsockopen и п.р - результат один и тот же.

Пробовал и просто include.

allow_url_fopen в конфиге есть на обоих хостах.

Внутри файла link.php происходит выборка из базы в зависимости от параметра site_id, данных, в base64, декодирование и вывод. На своем родном хосте он чудесно работает.
2. -SCHATTEN- - 02 Мая, 2007 - 16:00:43 - перейти к сообщению
Файлы находятся на одном сервере ?
3. valenok - 02 Мая, 2007 - 17:36:29 - перейти к сообщению
400 то ошибка запрашиваемого сервера (some_site.ru)
Убедитесь что страница открывается браузером.

Потом включите отображение всех сообщений об ошибках
и запустите код с одной единственной строкой:
echo file_get_contents('site.ru');
4. Fet - 02 Мая, 2007 - 18:12:40 - перейти к сообщению
Страница замечательно открывается браузером.

Файлы находятся на разных хостах.

echo file_get_contents('site.ru'); - пробовал. Все та же 400-я
5. valenok - 02 Мая, 2007 - 18:26:32 - перейти к сообщению
так с любым сайтом? ни одна ссылка не открывается?
fopen wrappers включена?
6. Fet - 02 Мая, 2007 - 18:39:39 - перейти к сообщению
Открываются только сайты со статичным контентом.

PS а поповоду fopen wrappers попобробнее можно? Улыбка
7. valenok - 02 Мая, 2007 - 19:30:07 - перейти к сообщению
Я имел ввиду раздел fopen wrappers в php.ini отредактирован для работы с удалёнными файлами?

PHP:
скопировать код в буфер обмена
  1.  
  2. ;;;;;;;;;;;;;;;;;;
  3. ; Fopen wrappers ;
  4. ;;;;;;;;;;;;;;;;;;
  5.  
  6. ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
  7. allow_url_fopen = On
  8.  
  9. ; Define the anonymous ftp password (your email address)
  10. ;from="john@doe.com"
  11.  
  12. ; Define the User-Agent string
  13. ; user_agent="PHP"
  14.  
  15. ; Default timeout for socket based streams (seconds)
  16. default_socket_timeout = 60
  17.  
  18. ; If your scripts have to deal with files from Macintosh systems,
  19. ; or you are running on a Mac and need to deal with files from
  20. ; unix or win32 systems, setting this flag will cause PHP to
  21. ; automatically detect the EOL character in those files so that
  22. ; fgets() and file() will work regardless of the source of the file.
  23. ; auto_detect_line_endings = Off
  24.  
\n\n(Добавление)
проблема может быть из за
А. Русских букв в адресе. Используйте urlencode
Б. В прокси
Отследите заголовки каким нибудь telnetом.

Также если в адресе есть пробел то функция не очень корректно работает с редиректами, насколько мне известно.

кюрл должен справляться:
PHP:
скопировать код в буфер обмена
  1.  <?
  2.  $url = 'http://mysite.ru/info.php?page=' . urlencode ('Продажа слонов');  
  3. $c = curl_init ();  
  4. curl_setopt ($c, CURLOPT_URL, $url);  
  5. curl_setopt ($c, CURLOPT_RETURNTRANSFER, 1);  
  6. curl_setopt ($c, CURLOPT_FOLLOWLOCATION, 1);
  7. $r = curl_exec ($c);  
  8.  
8. Fet - 02 Мая, 2007 - 20:13:14 - перейти к сообщению
Да, fopen wrappers сконфигурировано.

Пункт А
Русских букв в адресе нет и быть не может - там передается олько один параметр (как я и написал в первом посте) - меняется только его значение.

Пункт Б. Прокси тоже нету.

И пробелов нет.

curl нет возможности поставить.


Меня интересует скорее вопрос, почему может возникать 400-я ошибка? вроде все грамотно прописано, но сокет открыть не получается.
9. valenok - 02 Мая, 2007 - 20:40:53 - перейти к сообщению
А не работает только на одном компьютере?
10. Fet - 03 Мая, 2007 - 07:15:37 - перейти к сообщению
На всех.
11. kamikadze - 03 Мая, 2007 - 14:54:29 - перейти к сообщению
А не пробовал без айди и через
?
12. Fet - 03 Мая, 2007 - 16:22:50 - перейти к сообщению
Та же фигня. Пробовал уже и на простом статичном файле.
13. valenok - 03 Мая, 2007 - 17:17:06 - перейти к сообщению
На всех значит проблема в запрашиваемом файле.
проследите пожалуйста заголовки отправляемые cервером при запросе файла.
14. kamikadze - 03 Мая, 2007 - 18:43:47 - перейти к сообщению
Fet пишет:
Та же фигня. Пробовал уже и на простом статичном файле.


А Что со статичным файлом?
15. Fet - 03 Мая, 2007 - 19:35:45 - перейти к сообщению
kamikadze пишет:
А Что со статичным файлом?


Та же фигня. 400-я.

 

Powered by ExBB FM 1.0 RC1