GedroX Posted November 21, 2005 Report Share Posted November 21, 2005 Nepieciešams pārbaudīt, vai konkrēta adrese ir valid vai nav. Māģināju izmantot funkciju get_headers (to, kura priekš PHP4 definēta jūzeru notēs). Pārbaudot statusu, gribētos, lai nepareizām adresēm tiktu atgriezta 404 kļūda, bet parasti tiek atgriezts 'HTTP/1.1 403 Forbidden', bet eksistējošu domeinu neeksistējošām lapām mēdz arī atgriezt 200 statusu, kaut arī bradātājs uzrāda veco 'The page cannot be found'... Kā tad lai viennozīmīgi pasaka, vai lapa eksistē? Man jau sāka likties, ka nevar. Nu bet vismaz kautko viennozīmīgāku... Link to comment Share on other sites More sharing options...
rpr Posted November 21, 2005 Report Share Posted November 21, 2005 (edited) izskataas, ka paarbaudi vienu konkreetu saitu. nepareizi/nav salikti headeri paaarbauda vai ir nornmaals brouzeris, bet ja nav tad atgriezj 403 cik es esmu paarbaudiijis, tad peec hederiem ljoti labi var noteikt kas ar to lapu, es gan izmantoju fsockopen, lai nolasiitu http headerus vai nu ar GET (gets agriezj headeru kopaa ar kontentu) vai HEADER Edited November 21, 2005 by rpr Link to comment Share on other sites More sharing options...
Delfins Posted November 21, 2005 Report Share Posted November 21, 2005 ko nozīmē valid headers? imo tur ir n-varianti... ...) strādājoša lapa - ok ...) neapmaksāts domens - arī būs ok dažreiz ...) spec. headeru čakarēšana... Link to comment Share on other sites More sharing options...
laacz Posted November 21, 2005 Report Share Posted November 21, 2005 Ja ir runa par adresi, tad pietiek ar pārbaudi, vai hederis nav 200. Ja runa ir par hostu kā tādu (teiksim, vai eksistē www.asjdnakjdnjakndajknads.com), tad nāksies vien skatīties, vai var uz 80. portu izveidot konekciju. Ja var, značit tur, visticamākais, ir webserveris un hosts eksistē. Link to comment Share on other sites More sharing options...
GedroX Posted November 21, 2005 Author Report Share Posted November 21, 2005 (edited) rpr ~> Pārbaudu uz dažādām lapām. Kaut vai http://www.stats.lv/tadaslapasnav.php => 'HTTP/1.1 200 OK'... Sanāk, ka ar šo methodi var tikai secināt, vai tāds domeins vispār eksistē. Izmantot klāt vēl fopen, lai apskatītos, vai vispār tur kaučkas ir, arī pastulbi. Varbūt tā funkcija nekorekta? http://paste.php.lv/2883 Edit: varbūt kāds, kuram PHP5 varētu iečekot, kā strādā `oriģinālā` get_headers f-ja? Edited November 21, 2005 by GedroX Link to comment Share on other sites More sharing options...
laacz Posted November 21, 2005 Report Share Posted November 21, 2005 rpr ~> Pārbaudu uz dažādām lapām. Kaut vai http://www.stats.lv/tadaslapasnav.php => 'HTTP/1.1 200 OK'... Mīļais cilvēks, tu takš geto /, nevis attiecīgo lapu :) T.i., Tavs feinais kods uzģenerē šādu pieprasījumu: GET / HTTP/1.1 Host: www.stats.lv Connection: Close A vai tad Tev nevajag gadījienā šādu? GET /tadaslapasnav.php HTTP/1.1 Host: www.stats.lv Connection: Close Link to comment Share on other sites More sharing options...
GedroX Posted November 21, 2005 Author Report Share Posted November 21, 2005 (edited) Ok! Paldies! Tomēr taisnība sacījienam `Daverai no praverai`. =) Edit: Ja nu kādam vajaga, te būs vismaz pagaidām sakarīgākā get_headers priekš PHP4 funkcija: http://paste.php.lv/2884 Edited November 21, 2005 by GedroX Link to comment Share on other sites More sharing options...
Analgiins Posted November 22, 2005 Report Share Posted November 22, 2005 tikai info: iekš PEAR pakas PHP_Compat sākot no 1.4.0 versijas arī ir funkcija get_headers Link to comment Share on other sites More sharing options...
Recommended Posts