/[cvs]/nfo/php/libs/fr.free.lwest/Net/HTTP/net_http_client-fr.html
ViewVC logotype

Contents of /nfo/php/libs/fr.free.lwest/Net/HTTP/net_http_client-fr.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Tue Apr 1 20:11:52 2003 UTC (21 years, 3 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/html
initial commit, visit http://lwest.free.fr/doc/php/lib/index.php3?page=net_http_client&lang=fr

1 <html><head><meta name="keywords" content="php php4 http webdav client chargement fichier">
2 <meta name="language" content="Français">
3 <meta name="author" content="Léo WEST">
4 <style type="text/css">
5
6 body,td,th,p,li,a {
7 font-family: Verdana, Arial, Helvetica;
8 font-size: 11px;
9 }
10
11 body {
12 background-color: #ffffff;
13 margin-top: 2em;
14 margin-bottom: 2em;
15 }
16
17 A {
18 color: #06a;
19 text-decoration: none;
20 }
21
22 A:hover {
23 color: red;
24
25 }
26
27
28 p,ul,li,table {
29 margin-left: 3em;
30 }
31
32 p.note {
33 background-color: #fefecc;
34 font-size: smaller;
35 padding: 8px;
36 }
37
38 span.code {
39 color: #448; font-weight: bold;
40 }
41
42 div.code {
43 border : 1px solid #88a;
44 font-family: Courier, Fixed, Arial;
45 font-size: smaller;
46 color: green;
47 border: 1px solid marron;
48 padding: 1em;
49 margin-top: 1em;
50 margin-bottom: 5em;
51 margin-right: 3em;
52 margin-left: 4em;
53 background-color: #f0eeee;
54 }
55
56
57 ul {
58 list-style-type: none;
59 list-style-position: outside;
60 }
61
62 li {
63 padding: 1px 0px 1px 0px;
64 margin-left: 2px;
65 }
66
67 h1,h2,h3,h4,h5,h6,h7 {
68 font-family: Verdana, Arial, Helvetica, Sans-serif;
69 color: maroon;
70 }
71
72 h2 { margin-left: 1em; }
73 h3 { margin-left: 2em; }
74 h4 { margin-left: 3em; }
75
76 h5,h6 {
77 margin-left: 4em;
78 font-weight: bold;
79 text-decoration: underline;
80 }
81
82 h1 {
83 text-align: center;
84 font-variant: small-caps;
85 }
86
87
88 .aIdx {
89 color: blue;
90 font-weight: bold;
91 text-decoration: none;
92 vlink-color: darkblue;
93
94 }
95 .aIdx:active { color: pink; }
96 .aIdx:hover { color: pink; }
97
98 table.params {
99 border-collapse: separate;
100 padding : 2 2 1 1;
101 }
102
103 th {
104 vertical-align: top;
105 text-align: center;
106 }
107
108 td {
109 font-family: Arial, Helvetica, Sans-serif;
110 }
111 </style>
112
113 </head>
114 <body>
115 <a name="sec_1"><h1> HTTP Client class</h1></a>
116 <p class="text"> Net_HTTP_Client est un composant Client HTTP qui implemente toutes les m&eacute;thodes<br>
117 <strong>HTTP</strong> et la plupart des méthodes de <strong>WebDAV</strong> le standard de publication Web.<br>
118 <br>
119 <a href="zip/httpclient.zip">Télécharger httpclient.zip</a> cette archive au format ZIP contient la classe et la documentation<br>
120 <br>
121 </p><a name="sec_2"><h3> Informations</h3></a>
122 <p class="text"> Version : 0.7<br>
123 Licence : GPL<br>
124 Lastmod : Sep 2002<br>
125 Author : <a href="mailto:west_leo@yahoo-REMOVE-.com?subject=HttpClient">Leo West</a><br>
126 <br>
127 </p><a name="sec_3"><h3> Documentation</h3></a>
128
129 <ul>
130 <ul>
131 <ul>
132 <li> <a class="index" href="#sec_4">Synopsis</a>
133 <ul>
134 <li> <a class="index" href="#sec_5">Exemple simple</a>
135 <li> <a class="index" href="#sec_6">Utilisation d'une connexion persistente HTTP/1.1</a>
136 </ul>
137 <li> <a class="index" href="#sec_7">M&eacute;thodes principales</a>
138 <ul>
139 <li> <a class="index" href="#sec_8">Net_HTTP_Client( [host, port] )</a>
140 <li> <a class="index" href="#sec_9">Connect( host, port )</a>
141 <li> <a class="index" href="#sec_10">Disconnect()</a>
142 <li> <a class="index" href="#sec_11">setHeaders( headers )</a>
143 <li> <a class="index" href="#sec_12">removeHeader( headerName )</a>
144 <li> <a class="index" href="#sec_13">setCredentials( username, password )</a>
145 <li> <a class="index" href="#sec_14">setProtocolVersion( version )</a>
146 <li> <a class="index" href="#sec_15">setProxy( proxyHost, proxyPort )</a>
147 <li> <a class="index" href="#sec_16">addHeader( headerName, headerValue )</a>
148 <li> <a class="index" href="#sec_16a">addCookie( cookieName, cookieValue )</a>
149 <li> <a class="index" href="#sec_16b">removeCookies()</a>
150 <li> <a class="index" href="#sec_17">Get( uri )</a>
151 <li> <a class="index" href="#sec_18">getHeaders()</a>
152 <li> <a class="index" href="#sec_19">getBody()</a>
153 <li> <a class="index" href="#sec_20">Head( uri )</a>
154 <li> <a class="index" href="#sec_20a">Options( uri )</a>
155 <li> <a class="index" href="#sec_21">Post( uri, query_params )</a>
156 </ul>
157 <li> <a class="index" href="#sec_22">M&eacute;thodes WebDAV</a>
158 <ul>
159 <li> <a class="index" href="#sec_23">Copy( srcUri, destUri, overwrite )</a>
160 <li> <a class="index" href="#sec_24">Delete( uri )</a>
161 <li> <a class="index" href="#sec_25">Move( srcUri, destUri, overwrite )</a>
162 <li> <a class="index" href="#sec_26">MkCol( uri )</a>
163 <li> <a class="index" href="#sec_27">PropFind( uri, scope )</a>
164 <li> <a class="index" href="#sec_28">Put( uri, filecontent )</a>
165 <li> <a class="index" href="#sec_29">Lock( uri, lockScope, lockType, lockOwner )</a>
166 <li> <a class="index" href="#sec_30">Unlock( uri, lockToken )</a>
167 </ul>
168 <li> <a class="index" href="#sec_31">Diagnostics and debug</a>
169 <ul>
170 <li> <a class="index" href="#sec_32">getStatus()</a>
171 <li> <a class="index" href="#sec_33">getStatusMessage()</a>
172 <li> <a class="index" href="#sec_34">setDebug( flags )</a>
173 <li> <a class="index" href="#sec_35">Other methods</a>
174 </ul>
175 <li> <a class="index" href="#sec_36">Changelog</a>
176 <li> <a class="index" href="#sec_37">References</a>
177
178 </ul>
179 </ul>
180 </ul>
181 <a name="sec_4"><h3> Synopsis</h3></a>
182 <a name="sec_5"><h4> Exemple simple</h4></a>
183 <div class="code"><p class="text"> include &quot;Net/HTTP/Client.php&quot;;<br>
184 <br>
185 $http = new Net_HTTP_Client();<br>
186 $http-&gt;Connect( &quot;somehost&quot;, 80 ) or die( &quot;Connect problem&quot; );<br>
187 $status = $http-&gt;Get( &quot;/index.html&quot; );<br>
188 if( $status != 200 )<br>
189 die( &quot;Problem : &quot; . $http-&gt;getStatusMessage() );<br>
190 else<br>
191 echo $http-&gt;getBody();<br>
192 $http-&gt;Disconnect();<br>
193 </div>
194 <br>
195 </p><a name="sec_6"><h4> Utilisation d'une connexion persistente HTTP/1.1</h4></a>
196 <div class="code"><p class="text"> $http = new Net_HTTP_Client( &quot;dir.yahoo.com&quot;, 80 );<br>
197 $http-&gt;setProtocolVersion( &quot;1.1&quot; );<br>
198 $http-&gt;addHeader( &quot;Host&quot;, &quot;dir.yahoo.com&quot; );<br>
199 $http-&gt;addHeader( &quot;Connection&quot;, &quot;keep-alive&quot; );<br>
200 <br>
201 if( $http-&gt;Get( &quot;/Reference/Libraries/&quot; ) == 200 )<br>
202 $page1 = $http-&gt;getBody();<br>
203 <br>
204 if( $http-&gt;Get( &quot;/News_and_Media/&quot; ) == 200 )<br>
205 $page2 = $http-&gt;getBody();<br>
206 $http-&gt;disconnect();<br>
207 </div>
208 <br>
209 </p><a name="sec_7"><h3> M&eacute;thodes principales</h3></a>
210 <a name="sec_8"><h4> Net_HTTP_Client( [host, port] )</h4></a>
211 <p class="text"> Constructeur<br>
212 Les parametres host and port sont optionnels. Lorqu'ils sont d&eacute;finis, la connexion est initi&eacute;e imm&eacute;diatement.<br>
213 <strong>voir</strong> : Connect<br>
214 <br>
215 </p><a name="sec_9"><h4> Connect( host, port )</h4></a>
216 <p class="text"> Ouvre la connexion au serveur<br>
217 <span class="code">host</span> l'addresse du serveur<br>
218 <span class="code">port</span> le port du serveur, par defaut 80<br>
219 Renvoie true si succes, false si la connexion a &eacute;chou&eacute;e. Utilisez getStatusMessage pour examiner le message d'erreur.<br>
220 <br>
221 </p><a name="sec_10"><h4> Disconnect()</h4></a>
222 <p class="text"> Ferme la connexion.<br>
223 <br>
224 </p><a name="sec_11"><h4> setHeaders( headers )</h4></a>
225 <p class="text"> D&eacute;fini les ent&ecirc;tes HTTP &agrave; envoyer au serveur lors des requ&ecirc;tes suivnates.<br>
226 <span class="code">headers</span> un tableau associatif contenant les entêtes sous la forme "headerName" => "headerValue"<br>
227 Attention : Les nom d'ent&ecirc;te (headerName) sont case-sensitive pour l'instant dans ce composant.<br>
228 <br>
229 </p><a name="sec_12"><h4> removeHeader( headerName )</h4></a>
230 <p class="text"> retire l'ent&ecirc;te HTTP headerName<br>
231 <span class="code">headerName</span> le nom de l'entête<br>
232 <br>
233 </p><a name="sec_13"><h4> setCredentials( username, password )</h4></a>
234 <p class="text"> D&eacute;fini l'identifiant et le mot de passe pour les prochaines requ&ecirc;tes. A utiliser pour acc&eacute;der a des ressource prot&eacute;g&eacute;es sur le serveur.<br>
235 <span class="note">Seul le schéma d'autehtnication "Basic" est supporté actuellement</span><br>
236 <br>
237 <span class="code">username </span> l'identifiant<br>
238 <span class="code">password </span> Le mot de passe en clair<br>
239 <br>
240 </p><a name="sec_14"><h4> setProtocolVersion( version )</h4></a>
241 <p class="text"> Defini la version du protocole HTTP &agrave; utiliser.<br>
242 <span class="code">version</span> une chaine représentant la version, au choix: "0.9", "1.0", "1.1"<br>
243 renvoie false si la version est incorrecte<br>
244 <br>
245 </p><a name="sec_15"><h4> setProxy( proxyHost, proxyPort )</h4></a>
246 <p class="text"> Indique au composant d'utiliser un Proxy. Test&eacute; seulement sur les proxies HTTP (Squid etc.)<br>
247 <br>
248 <span class="code">proxyHost</span> l'adresse du proxy, <span class="code">proxyPort</span> le port du proxy, par ex. 80 ou 8080<br>
249 <br>
250 </p><a name="sec_16"><h4> addHeader( headerName, headerValue )</h4></a>
251 <p class="text"> Ajoute une ent&ecirc;te HTTP &agrave; envoyer lors des prochaines requ&ecirc;tes. headerName est &quot;case sensitive&quot;<br>
252 <span class="code">headerName</span> Nom de l'entête<br>
253 <span class="code">headerValue</span> Valeur de l'entête<br>
254 <br>
255 </p><a name="sec_16a"><h4> addCookie( cookieName, cookieValue )</h4></a>
256 <p class="text"> défini un cookie, utilisé lors des requ&ecirc;tes suivantes<br>Le cookie est de type "session".
257 Normalement les cookies sont définis par le serveur, mais ce hack permet par exemple de définir une session.
258 <span class="code">cookieName</span> Nom du cookie<br>
259 <span class="code">cookieValue</span> Valeur du cookie<br>
260 <small>[depuis v0.7]</small>
261 <br>
262 </p><a name="sec_16b"><h4> removeCookies( )</h4></a>
263 <p class="text"> supprime tous les cookies défini jusqu'alors.<br>
264 <small>[depuis v0.7]</small>
265 <br>
266 </p><a name="sec_17"><h4> Get( uri )</h4></a>
267 <p class="text"> Envoie une requ&ecirc;te GET<br>
268 <span class="code">$uri</span> L'URI, cad. le chemin du document relatif a la racine du serveur, exemple /index.html.<br>
269 Renvoie le code de statut re&ccedil;ue du serveur (200 si succ&egrave;s)<br>
270 Voir aussi getHeaders, getBody<br>
271 Get() accepte également une URL complète, dans ce cas il ouvre une connexion sur le serveur.<br>
272
273 <div class="code">
274 // avec une URI<br>
275 $http-&gt;connect( "fr.yahoo.com" );<br>
276 $status = $http-&gt;Get( &quot;/&quot; );<br>
277
278 // meme chose avec une URL<br>
279 $status = $http-&gt;Get( &quot;http://fr.yahoo.com/&quot; );<br>
280 </div>
281
282
283 <br>
284 </p><a name="sec_18"><h4> getHeaders()</h4></a>
285 <p class="text"> Renvoie les ent&ecirc;tes HTTP de la r&eacute;ponse. Les ent&ecirc;tes sont renvoy&eacute;s sous la forme<br>
286 d'un tableau associatif (nom =&gt; valeur ).<br>
287 A utiliser apr&egrave;s une requ&ecirc;te, par ex. pour examiner les ent&ecirc;tes du genre: Set-Cookie, Location ...<br>
288 <div class="code"> $status = $http-&gt;Get( &quot;/&quot; );<br>
289 ...<br>
290 // document is somewhere else<br>
291 if( $status == 301 || $status == 302 || $status == 307 )<br>
292 {<br>
293 $headers = $http-&gt;getHeaders();<br>
294 $status = $http-&gt;Get( $headers[&quot;Location&quot;] );<br>
295 }<br>
296 </div>
297 <br>
298 </p><a name="sec_19"><h4> getBody()</h4></a>
299 <p class="text"> Renvoie le corps de la r&eacute;ponse sous forme de chaine.<br>
300 <br>
301 </p><a name="sec_20"><h4> Head( uri )</h4></a>
302 <p class="text"> Envoie une requ&ecirc;te HEAD<br>
303 <span class="code">uri</span> est l'URI du document<br>
304 Renvoie le code de statut re&ccedil;ue du serveur (200 si succ&egrave;s)<br>
305 Pour examiner le contenu des headers, voir getResponseHeaders()<br>
306 <br>
307 </p><a name="sec_20a"><h4> Options( uri )</h4></a>
308 <p class="text"> Envoie une requ&ecirc;te OPTIONS<br>
309 <span class="code">uri</span> est l'URI du document, en général "/"<br>
310 Renvoie les options supportées par le serveur dans un tableau<br>
311 <small>[depuis v0.7]</small>
312 <br>
313 </p><a name="sec_21"><h4> Post( uri, query_params )</h4></a>
314 <p class="text"> Envoie une requ&ecirc;te POST<br>
315 <span class="code">uri</span> l'URI de la ressource<br>
316 <span class="code">query_params</span> un tableau associatif contenant les paramètres de la requête (par ex. du formulaire)<br>
317 Renvoie le code de statut re&ccedil;ue du serveur (200 si succ&egrave;s)<br>
318 <br>
319 <div class="code"> $params = array( &quot;login&quot; =&gt; &quot;scott&quot;, &quot;password&quot; =&gt; &quot;tiger&quot; );<br>
320 $status = $http-&gt;post( &quot;/login.php&quot;, $params );<br>
321 </div>
322 <br>
323 </p><a name="sec_22"><h3> M&eacute;thodes WebDAV</h3></a>
324 <a name="sec_23"><h4> Copy( srcUri, destUri, overwrite )</h4></a>
325 <p class="text"> Copie une ressource existante &agrave; un nouvel emplacement en utilisant la requ&ecirc;te COPY<br>
326 <br>
327 <span class="code">srcUri</span> l'emplacement actuel de la ressource sur le serveur. N'oubliez pas le / de tête.<br>
328 <span class="code">destUri</span> l'emplacement de destination. n'indiquez *pas* une URL complète!<br>
329 <span class="code">overwrite</span> true si la destination peut etre écrasée (défaut), false sinon<br>
330 Renvoie le code de statut re&ccedil;ue du serveur (204 si succ&egrave;s)<br>
331 <br>
332 <span class="code">$status = $http-&gt;Copy( "/sources/client.php", "/backup/client-0.4.php", true );</span><br>
333 <br>
334 </p><a name="sec_24"><h4> Delete( uri )</h4></a>
335 <p class="text"> Supprime une ressource sur le serveur en utilisant la requ&ecirc;te DELETE<br>
336 <span class="code">uri</span> URI de l'emplacement de la ressource sur le serveur.<br>
337 Renvoie le code de statut re&ccedil;ue du serveur (204 si succ&egrave;s)<br>
338 <br>
339 Note: Cette m&eacute;thode HTTP n'est pas toujours impl&eacute;ment&eacute;e sur les serveurs.<br>
340 <br>
341 </p><a name="sec_25"><h4> Move( srcUri, destUri, overwrite )</h4></a>
342 <p class="text"> D&eacute;place (renomme) une ressource sur le serveur en utilisant la requ&ecirc;te MOVE<br>
343 <span class="code">srcUri</span> l'emplacement actuel de la ressource sur le serveur. N'oubliez pas le / de tête.<br>
344 <span class="code">destUri</span> l'emplacement de destination. n'indiquez *pas* une URL complète!<br>
345 <span class="code">overwrite</span> true si la destination peut etre écrasée (défaut), false sinon<br>
346 Renvoie le code de statut re&ccedil;ue du serveur (204 si succ&egrave;s)<br>
347 <br>
348 </p><a name="sec_26"><h4> MkCol( uri )</h4></a>
349 <p class="text"> Cr&eacute;e une collection sur le serveur (g&eacute;n&eacute;ralement un repertoire) via une requ&ecirc;te MKCOL<br>
350 <span class="code">uri</span> URI relative de la collection<br>
351 Renvoie le code de statut, 201 (Created) si succ&egrave;s.<br>
352 <br>
353 </p><a name="sec_27"><h4> PropFind( uri, scope )</h4></a>
354 <p class="text"> R&eacute;cup&egrave;re un ensemble de meta-informations &agrave; propos d'une ressource sur le serveur<br>
355 La r&eacute;ponse au format XML n'est pas interpr&eacute;t&eacute;e, vous aurez &agrave; le faire dans votre code.<br>
356 <br>
357 <span class="code">uri</span> URI de la ressource<br>
358 <span class="code">scope</span> Défini le scope de la requête. 0 pour obtenir des infos sur le noeud seulement, 1 pour le noued et ses enfants directs, "Infinity" pour l'arborescence complète sous le noeud<br>
359 <br>
360 Renvoie le code de status, 207 (Multi-Status) si OK<br>
361 <br>
362 </p><a name="sec_28"><h4> Put( uri, filecontent )</h4></a>
363 <p class="text"> Envoie un fichier sur le serveur via la requ&ecirc;te PUT<br>
364 <span class="code">uri</span> l'emplacement de destiination du fichier sur le serveur. N'oubliez pas le / de tête<br>
365 <span class="code">filecontent</span> is the content of the file. binary content accepted<br>
366 Returns the status code as a string, 201 (Created) if OK.<br>
367 <br>
368 </p><a name="sec_29"><h4> Lock( uri, lockScope, lockType, lockOwner )</h4></a>
369 <p class="text"> <span class="note">WARNING: experimental</span><br>
370 Lock a ressource on the server and return 200 if locking went OK.<br>
371 The XML reply is not parsed for now [translate: Your help is welcome].<br>
372 <br>
373 <span class="code">uri </span> URL of the resource to lock<br>
374 <span class="code">lockScope </span> scope of the lock. Use "exclusive" for an private lock, "inclusive" for a shared lock.<br>
375 <span class="code">lockType </span> Access type for the lock : Use "write", ?<br>
376 <span class="code">lockOwner </span> An URL representing the owner of this lock<br>
377 <br>
378 <div class="code"> $reply = $http-&gt;Lock( &quot;/docs/manual.html&quot;, &quot;inclusive&quot;, &quot;write&quot;, &quot;leo@leo.com&quot; );<br>
379 if( $reply != 200 ) {<br>
380 $msg = $http-&gt;getStatusMessage();<br>
381 die( &quot;Unlock problem, server says $msg&quot; );<br>
382 } else {<br>
383 $xmlResponse = $http-&gt;getBody();<br>
384 // TODO : parse the XML response here<br>
385 }<br>
386 </div>
387 <br>
388 </p><a name="sec_30"><h4> Unlock( uri, lockToken )</h4></a>
389 <p class="text"> <span class="note">WARNING: experimental</span><br>
390 Release a lock on a remote file and return the response code (204 if unlock OK)<br>
391 <span class="code">uri</span> The relative URL of the resource to unlock<br>
392 <span class="code">lockToken</span> The lock token given at lock time, eg: opaquelocktoken:e71d4fae-5dec-22d6-fea5-00a0c91e6be4<br>
393 <br>
394 <div class="code"> $token = &quot;opaquelocktoken:e71d4fae-5dec-22d6-fea5-00a0c91e6be4&quot;;<br>
395 $reply = $http-&gt;Unlock( &quot;/docs/manual.html&quot;, $token );<br>
396 if( $reply != 204 ) {<br>
397 $msg = $http-&gt;getStatusMessage();<br>
398 die( &quot;Unlock problem, server says $msg&quot; );<br>
399 }<br>
400 </div>
401 <br>
402 </p><a name="sec_31"><h3> Diagnostics and debug</h3></a>
403 <a name="sec_32"><h4> getStatus()</h4></a>
404 <p class="text"> Return the server status code for the last request.<br>
405 HTTP codes are divided in classes (where x is a digit)<br>
406 <br>
407 - 20x : request processed OK<br>
408 - 30x : document moved<br>
409 - 40x : client error ( bad url, document not found, etc...)<br>
410 - 50x : server error<br>
411 <br>
412 </p><a name="sec_33"><h4> getStatusMessage()</h4></a>
413 <p class="text"> Returns the full response status of the last request, in the form &quot;CODE Message&quot;<br>
414 Example : <span class="code">404 Document not found</span><br>
415 <br>
416 </p><a name="sec_34"><h4> setDebug( flags )</h4></a>
417 <p class="text"> Turn on debug messages<br>
418 <span class="code">$client-&gt;setDebug( DBGTRACE | DBGINDATA );</span><br>
419 <br>
420 Flags is a bit mask of following debug modes:<br>
421 </p><!-- table --><table class="params">
422 <tr> <td class="params">DBGTRACE</td>
423 <td class="params">to trace methods calls stack</td>
424 </tr>
425 <tr> <td class="params">DBGINDATA</td>
426 <td class="params">to debug data received from server</td>
427 </tr>
428 <tr> <td class="params">DBGOUTDATA</td>
429 <td class="params">to debug data sent</td>
430 </tr>
431 <tr> <td class="params">DBGLOW</td>
432 <td class="params">to debug low-level (usually internal) methods</td>
433 </tr>
434 <tr> <td class="params">DBGSOCK</td>
435 <td class="params">to debug socket-level stuff</td>
436 </tr>
437 </table><a name="sec_35"><h4> Other methods</h4></a>
438 <p class="text"> sendCommand, makeURI, processReply, processHeader, processBody, readReply, flushReply<br>
439 These methods are private therefore not documented and USUALLY NOT FOR DIRECT USE.<br>
440 <br>
441 </p><a name="sec_36"><h3> Changelog</h3></a>
442 <p class="text"><pre>
443 0.1 initial version
444 0.2 documentation completed
445 + getHeaders(), getBody()
446 o Post(), Connect()
447 0.3 DAV enhancements:
448 + Put() method
449 0.4 continued DAV support
450 + Delete(), Move(), MkCol(), Propfind() methods
451 o added url property, remove host and port properties
452 o Connect, Net_HTTP_Client (use of this.url)
453 o processBody() : use non-blocking to fix a socket pblm
454 0.5 debug support
455 + setDebug()
456 + debug levels definitions (DBG*)
457 0.6 + Lock() method
458 + setCredentials() method and fix - thanks Thomas Olsen
459 + support for Get( full_url )
460 o fix POST call (duplicate content-length) - thanks to Javier Sixto
461 0.7 + OPTIONS method support
462 + addCookie and removeCookies methods
463 o fix the "0" problem
464 o fix undefined variable warning
465 </pre>
466 </p><a name="sec_37"><h3> References</h3></a>
467 <p class="text"> RFC2616 &quot;Hypertext Transfer Protocol -- HTTP/1.1&quot;<br>
468 <a href="http://lwest.free.fr/doc/protocols/http/rfc2616.html" target="_new">http://lwest.free.fr/doc/protocols/http/rfc2616.html</a><br>
469 <br>
470 RFC2518 &quot;HTTP Extensions for Distributed Authoring WEBDAV&quot;<br>
471 <a href="http://lwest.free.fr/doc/protocols/http/rfc2518.html" target="_new">http://lwest.free.fr/doc/protocols/http/rfc2518.html</a><br>
472 <br>
473 WebDAV Community Site<br>
474 <a href="http://www.webdav.org" target="_new">http://www.webdav.org</a><br>
475 <br>
476 </body>
477 </html>
478

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed