Pokaż wyniki 1 do 6 z 6

Temat: Zapytanie http

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

    Domyślnie Zapytanie http

    witam, moglibyście mi powiedzieć co robie źle ?

    Kod php:
    <?php
    @$start=fsockopen("www.makarena.yoyo.pl",80,$er,$ers,30);
    if(!
    $start)
    {
        echo 
    $er."->".$ers;
    }
    else
    {
        
    $dane="POST /index.php HTTP/1.1\r\n";
        
    $dane.="Host: www.makarena.yoyo.pl\r\n";

        
    $dane.="Connection: keep-alive\r\n\r\n";
        
    fwrite($start,$dane);
            
        while(!
    feof($start))
        {
            echo 
    fgets($start);
        }
    }
    ?>
    Dostaje 411 Length Required
    no ale jak wstawie te $dane.="Content-Length: 14\r\n";
    To skrypt sie wogole nie chce załadować nie wiem,,,,co robie źle?

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Moze MIME dodac no i dlugosc na pewno?
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3
    Zarejestrowany
    Nov 2007
    Postów
    54

    Domyślnie

    Ponieważ to jest metoda POST, proponowałbym dodać takie nagłówki jak Content-Type i Content-Length oraz ciało pytania. Na przykład tak:
    Kod php:
    $dane="POST /index.php HTTP/1.1\r\n";
    $dane.="Host: www.makarena.yoyo.pl\r\n";
    $dane.="Connection: keep-alive\r\n";
    $dane.="Content-Type: application/x-www-form-urlencoded\r\n";
    $dane.="Content-Length: 12\r\n\r\n";
    $dane.="string=hello"
    Po takim zapytaniu, powinien być kod odpowiedzi 200, więc serwer poprawnie przyjmuje żądanie. To co się dzieje dalej, zależy już od Twojego skryptu lub może serwer ma jakieś niestandardowe zachowania w takich sytuacjach.

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

    Domyślnie

    A ja bym radzil ulatwic sobie zycie i uzyc cURLa.
    http://gogulas.yoyo.pl/h.gif

  5. #5
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    ... a ja nie

    W tym szalenstwie jest metoda... cURL jest nie wszedzie dostepny, cURL to dodatkowa biblioteka - w php to nie problem bo albo ona jest albo jej nie ma ale proste requesty HTTP i podobne czasami warto robic na prostych socketach w natywnym jezyku zamiast uzywac ton bibliotek do czegos co mozna latwo zrobic samemu.

    Przyklad:
    Robisz redirector ktory obsluguje iles domen i cala robota jaka robi to tracking userow na wejsciu i upewnianie sie ze maja wszelkie dane trakingowe jak wychodza przez link do innej Twojej strony. Taki redirector nie uzywa zadnych plikow, tylko operuje na naglowkach - wciagniecie w to biblioteki do obslugi HTTP (tak jak w modul CGI w Perlu) i uzywanie obiektow tylko spowalnia robote i zwieksza zasobozernosc procesu. Roznica w wydajnosci jest kolosalna - bez biblioteki skyrpt pracuje 6-8x szybciej i jest o 2 linie krotszy niz tez z uzyciem biblioteki

    EDIT:
    Poprawka... znalazlem kod i sprawdzilem wyniki dokladnie...
    Czas ladowania i startu aplikacji 6-8x szybciej, kod ktory wykonuje rzeczywista prace 25.7x szybciej - testowane dla 1mln wykonan kodu.
    Ostatnio edytowane przez TQM : 03-14-2008 - 09:39
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

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

    Domyślnie

    @coefficient oto chodzilo
    po prostu nie wstawialem podwójnej karetki tylko pojedynczą
    zamiast \r\n powinno byc \r\n\r\n
    wielkie dzieki :*

Podobne wątki

  1. Zapytanie do bazy danych.
    By calibra in forum Newbie - dla początkujących!
    Odpowiedzi: 14
    Autor: 12-15-2007, 20:43
  2. Zapytanie (Rankingi Stron Mp3)
    By desire121 in forum Newbie - dla początkujących!
    Odpowiedzi: 11
    Autor: 11-08-2007, 20:19
  3. Zapytanie mysql
    By andrew8666 in forum Newbie - dla początkujących!
    Odpowiedzi: 6
    Autor: 09-17-2007, 15:22

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