Jump to content
php.lv forumi

Kā pārbaudīt http vietas esamību


GedroX

Recommended Posts

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

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 by rpr
Link to comment
Share on other sites

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

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 by GedroX
Link to comment
Share on other sites

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

×
×
  • Create New...