Freigeben über


Decodierte Methoden

Letzte Änderung: Dienstag, 23. März 2010

Gilt für: SharePoint Foundation 2010

In den Abschnitten "Decodiert" der vorliegenden Referenz wird nicht der Code dargestellt, der beim Arbeiten mit einem Programm wie Netzwerkmonitor tatsächlich angezeigt wird. Dies ermöglicht die Untersuchung des Netzwerkverkehrs vom und zum Server auf der Paketebene, das Erfassen von Paketen zwischen FrontPage-Servererweiterungen von Microsoft und einer Clientanwendung wie Microsoft Office FrontPage2003. Im vorliegenden Thema wird der Code beschrieben, der in einem Programm zum Erfassen von Paketen beobachtet werden kann. Außerdem werden die Schritte erläutert, mit denen Beispiele in der Referenz lesbar gemacht werden können.

HinweisHinweis

Je nach installiertem Betriebssystem und verwendetem Programm können Sie Pakete entweder als HTTP-Pakete oder als TCP-Pakete filtern. Wenn Sie als Filter TCP verwenden, müssen Sie jedes TCP-Paket auf den Befehl HTTP POST überprüfen. In UNIX-Systemen ist das HTTP-Protokoll beispielsweise immer in das TCP-Paket eingebettet.

Das erste erfasste Paket ist normalerweise der HTTP-POST. Diesem folgt ein Keep-Alive-Paket. Das letzte zu übertragende Paket (bzw. die letzte Gruppe von zu übertragenden Paketen) enthält den Rückgabecode für die Methode. Der Rückgabecode liegt immer in Form einer oder mehrerer HTML-Seiten vor. Die meisten Rückgabecodes enthalten Metaschlüssel mit Informationen zu den übertragenen Daten.

Jede POST-Anforderung, die von einer Clientanwendung gesendet wurde, die Microsoft SharePoint Foundation oder FrontPage-Servererweiterungen von Microsoft verwendet, enthält eine Zeichenfolge, mit der die auszuführende RPC-Methode sowie die für die Methode benötigten Parameter angegeben werden. Im Folgenden ist ein Beispiel-POST aufgeführt, der FrontPage-Servererweiterungen implementiert:

POST./site_url/_vti_bin/_vti_aut/author.dll 
HTTP/1.0CRLF
Date: Thu, 03 Dec 2003 19:09:16 GMTCRLF
MIME-Version: 1.0CRLF
User-Agent: MSFrontPage/6.0CRLF
Host: server_nameCRLF
Accept: auth/sicilyCRLF
Authorization: Basic cm9iZjpUS3NvKjUwCRLF
Content-Length: 343CRLF
Content-Type: application/x-www-form-urlencodedCRLF
X-Vermeer-Content-Type: application/x-www-form-urlencodedCRLF
method=list+documents%3a6%2e0%2e2%2e5420service%5
fname=%2fallnew&listHiddenDocs=false&listExplorerDocs=
   false&listRecurse=false&listFiles=true&listFolders=true
&listLinkInfo=true&listIncludeParent=true&listDerived=
   false&listBorders=false&listChildWebs=true
&initialUrl=&platform=WinI386&folderList=
   %5b%3bTW%7c09+Nov+1998+17%3a03%3a25+%2d0000%5d.LF

Im vorherigen Beispiel wurde das von der Clientanwendung gesendete Format veranschaulicht. Wenn Sie jedoch einen POST mit einem Programm wie Netzwerkmonitor erfassen, sieht die Anzeige wie folgt aus:

POST./site_url/_vti_bin/_vti_aut/author.dll.HTTP/1.0..Date:.Tue,.19.Jan.2003.19:58:GMT.. 
MIME-Version:.1.0..User-Agent:.MSFrontPage/6.0..Host:.v-rfrank3.. 
Accept:.auth/sicily..Authorization:.Basic.di1yZnJhbms6VEtzbzUwKg==.. 
Content-Length:.317..Content-Type:.application/x-www-form-urlencode.. 
X-Vermeer-Content-Type:.application/x-www-form-urlencoded.... 
method=list+documents%3a6%2e0%2e2%2e5420&service%5fname=&listHiddenDocs=false 
&listExplorerDocs=false&listRecurse=false&listFiles=true&listFolders=true 
&listLinkInfo=true&listIncludeParent=true&listDerived=false&listBorders=false 
&listChildWebs=true&initialUrl=&folderList=%5b%3bTW%7c13+Jan+2003+16%3a16%3a17+%2d0000%5d.

Im obigen Beispiel wird ein Datenstrom veranschaulicht, der anfänglich wie folgt in anderen Code eingebettet ist:

00000030 50 4F 53 54 20 2F 70 72 6F 64 
POST./site_url/ 00000040 39 38 2F 5F 76 74 69 5F 62 69 6E 2F 5F 76 74 69 
98/_vti_bin/_vti 00000050 5F 61 75 74 2F 61 75 74 68 6F 72 2E 64 6C 6C 20 
_aut/author.dll. 00000060 48 54 54 50 2F 31 2E 30 0D 0A 44 61 74 65 3A 20 
HTTP/1.0..Date:. 00000070 54 75 65 2C 20 31 39 20 4A 61 6E 20 31 39 39 39 
Tue,.19.Jan.2003 00000080 20 32 30 3A 33 35 3A 32 36 20 47 4D 54 0D 0A 4D 
.19:58:GMT..M

Um diese Art von Code für Referenzzwecke lesbarer zu machen, werden mehrere Änderungen vorgenommen. Zunächst wird der Code am Anfang jeder Zeile abgeschnitten, um den POST-Befehl offenzulegen. Anschließend werden alle verbleibenden Zeilenumbrüche entfernt, um einen Datenstrom zu bilden. Dann werden wieder Zeilenumbrüche hinzugefügt, um den Code lesbarer zu machen. Die Punkte (.) in diesem Datenstrom stellen Steuerzeichen oder Leerzeichen dar, und auch sie werden entfernt. Im folgenden Beispiel wird das Ergebnis dieser Änderungen veranschaulicht, das jedoch immer noch schwer zu verstehen ist.

method=list+documents%3a6%2e0%2e2%2e5420&service%5fname=%2fallnew&listHiddenDocs=false 
&listExplorerDocs=false&listRecurse=false&listFiles=true&listFolders=true 
&listLinkInfo=true&listIncludeParent=true&listDerived=false&listBorders=false 
&listChildWebs=true &initialUrl=&platform=WinI386 
&folderList=%5b%3bTW%7c09+Nov+2003+17%3a03%3a25+%2d0000%5d.

Abschließend werden für die Verwendung im Abschnitt "Decodiert" eines Methodenthemas eine Reihe weiterer Änderungen vorgenommen, wodurch das folgende Format erhalten wird:

POST./allnew/_vti_bin/_vti_aut/author.dll 
HTTP/1.0CRLF
.
.
.
method=list+documents:6.0.2.5420 &service_name=/allnew 
&listHiddenDocs=false &listExplorerDocs=false 
&listRecurse=false &listFiles=true 
&listFolders=true &listLinkInfo=true 
&listIncludeParent=true 
&listDerived=false &listBorders=false 
&listChildWebs=true &initialUrl= 
&platform=WinI386 &folderList=[;TW|09+Nov+2003+17:03:25+-0000]

Im Beispiel werden der POST-Befehl sowie die Methode angezeigt, und in diesem Fall leitet der Pfad für den POST-Befehl den POST in die Datei author.dll um. Auslassungspunkte (...) stellen entfernte HTTP-Headerzeilen dar. Anschließend werden die Methoden und die zugehörigen Parameter in einem lesbaren Format aufgeführt.

Den Abschnitten "Decodiert" in den Themen zu den einzelnen Methoden wurden aus Darstellungsgründen Zeilenumbrüche hinzugefügt.

Weitere Informationen zum Format, in dem ein POST-Befehl gesendet werden muss, finden Sie unter Methodensyntax.