Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki 1 do 10 z 14

Temat: file_get_contents [ bad request]

  1. #1
    Zarejestrowany
    Jan 2007
    Skąd
    somewhere in time
    Postów
    510

    Domyślnie file_get_contents [ bad request]

    hej, mam pytanie....dlaczego kiedy próbuję tą funkcją na dole pobrać metatagi z youtube.pl to dostaje error bad request blablabla failed to open stream blablabal
    mogłbym co prawda normalnie pobrać strone za pomocą surowego otwierania soketów i przesylania komunikatow do serwa ale mimo to chcialbym wiedziec dlaczego przy stronie pl.youtube.com/index.php nie dziala file_get_contents a na kazdej innej stronie dziala
    Kod php:
    <?php
    function show_meta_tags($a)
    {
        
        
    $file=file_get_contents($a);
        
        
    preg_match_all('#<link rel=\"Stylesheet\".*href=\"(?P<styl>[^\"]*)\"|<title>(?P<tytul>.*)</title>|<meta name=\"keywords\" content=\"(?P<keywords>.*)">|<meta name=\"description\" content=\"(?P<opis>.*)">#i',$file,$ar);
        foreach(
    $ar['styl'] as $value)
        {
            if(!empty(
    $value)){
            
    $styl.=$value.",";}
        }
        foreach(
    $ar['tytul'] as $value)
        {
            if(!empty(
    $value))
            {
            
    $tytul.=$value.",";}
        }
        foreach(
    $ar['keywords'] as $value)
        {
            if(!empty(
    $value))
            {    
                
    $keywords.=$value.",";
            }
        }
        foreach(
    $ar['opis'] as $value)
        {
            if(!empty(
    $value))
            {
                
    $opis.=$value.",";
            }
        }
        
    $out=array("styl"=>$styl,"tytul"=>$tytul,"slowa kluczowe"=>$keywords,"opis"=>$opis);
        return 
    $out;
    }
    print_r(show_meta_tags("http://pl.youtube.com/index.php"));

    ?>
    ten kod chyba bez znaczenia bo glownie chodzi mi wlasnie oto czemu jest bad request przy file_get_contents a kod to............moze komuś sie przyda

  2. #2
    Avatar hedVB
    hedVB jest offline AI
    Zarejestrowany
    Nov 2007
    Postów
    874

    Domyślnie

    Może coś źle robię ale mi to w ogóle nie działa
    www.lingubot.pl - projekt sztucznej inteligencji.

  3. #3
    Zarejestrowany
    Jan 2007
    Skąd
    somewhere in time
    Postów
    510

    Domyślnie

    przeciez oto mi wlasnie chodzi ze nie dziala
    wpisz sobie dam zamiast
    print_r(show_meta_tags("http://pl.youtube.com/index.php"));
    print_r(show_meta_tags("http://iron0088.yoyo.pl/index.php"));

  4. #4
    Avatar gogulas
    gogulas jest offline killboy powerhead
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie

    moze masz allow_url_fopen = off
    http://gogulas.yoyo.pl/h.gif

  5. #5
    Avatar gogulas
    gogulas jest offline killboy powerhead
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie

    a widziales jakei ch***we naglowki daje ta funkcja/skrypt/wrapper? :P

    Kod:
    [2008-04-23 20:44:35:700]
    GET /index.php HTTP/1.0
    Host: pl.youtube.com
    
    
    [2008-04-23 20:44:38:884]
    HTTP/1.1 400 Bad Request
    Date: Wed, 23 Apr 2008 18:43:47 GMT
    Server: Apache
    Expires: Tue, 27 Apr 1971 19:44:06 EST
    Cache-Control: no-cache
    Connection: close
    Content-Type: text/plain
    zrob na fsockopen(), niektore serwki wymagaja naglowka 'user agent'.

    to mi sie spodobalo: (?P<tytul>.*) nie widzialem ze tak mozna
    Ostatnio edytowane przez gogulas : 04-23-2008 - 20:57
    http://gogulas.yoyo.pl/h.gif

  6. #6
    Zarejestrowany
    May 2007
    Skąd
    Kraków
    Postów
    371

    Domyślnie

    zrób to na normalnych sockach.. będzie:
    1. szybciej
    2. łatwiej*
    3. czytelniej...

    OFFTOPIC: czy mi sie zdaje, czy "PHPowych napaleńców" przybywa ;>? dobrze dobrze! PHP rox!

  7. #7
    Avatar gogulas
    gogulas jest offline killboy powerhead
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie

    tez juz przesiadlem sie na socket(), niestety wymagaja dolaczenia dllki, czego nawet platne konta www potrafia nie oferowac :P
    dlatego dla sw. spokoju fsockopen(),
    albo warunek jakimi funkcjami ma sie posluzyc skrypt w zaleznosci czy biblioteka jest dolaczona czy tez nie
    http://gogulas.yoyo.pl/h.gif

  8. #8
    Zarejestrowany
    Jan 2007
    Skąd
    somewhere in time
    Postów
    510

    Domyślnie

    tak też zrobiłem...( sokety)
    ale swoją drogą dziwne to że inne strony działają ale youtube.com/index.php nie chce czytać
    edit: aha no tak user-agent

    to mi sie spodobalo: (?P<tytul>.*) nie widzialem ze tak mozna
    gajdaw.pl i lecisz heh
    OFFTOPIC: czy mi sie zdaje, czy "PHPowych napaleńców" przybywa ;>? dobrze dobrze! PHP rox!
    w zyciu kazdego "programisty" predzej czy pozniej przychodzi czas zeby wybrać (wiadomo co)...Teed z tego co mi wiadomo z tego forum tzn z Twych postow wynika ze juz masz ogarnięte php w miare dobrze. wiec co polecasz jaką forme nauki? jak ty sie uczyles?

  9. #9
    Zarejestrowany
    May 2007
    Skąd
    Kraków
    Postów
    371

    Domyślnie

    na poczatku czytalem kody innych i rozkminiałem, jak działają... czegos nie wiedzialem? -> php.net

    i tak powoli, powoli.. dochodziłem do wprawy.. potem chcialem wyjsc z tworzenia stron w PHP do systemu... googliłem do upadłego.. i odkryłem Bamcompile (php->exe) nie jest to "prawdziwa" kompilacja ale dziala hehe
    i tutaj sie zaczela moja przygoda z socket_create(), LPT, COM itd..
    potem.. zaczalem tworzyc programy z gui.. (jednak wole konsolówki hehe)

    wiecie za co kocham PHP?: cross platform, bezproblemowość ;P, nieogranicozne możliwości

    wiem, ze gadam jak nawiedzony.. ale chyba jestem xD

  10. #10
    Zarejestrowany
    Apr 2008
    Skąd
    /dev/null
    Postów
    31

    Domyślnie

    Cytat Napisał Teeed Zobacz post
    nieogranicozne możliwości
    PHP akurat takich nie ma, tak może powiedzieć coder ASM, albo C ^^

Strona 1 z 2 12 OstatniOstatni

Podobne wątki

  1. na luzie - bad idea...
    By eMCe in forum Off Topic
    Odpowiedzi: 4
    Autor: 04-29-2007, 23:18

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj