US-Staaten mit Sockets lesen und parsen
Sockets kann man, so wie alle Streams, mithilfe von Stream-Operationen lesen und parsen.
Öffnen Sie die Verbindung zu einem Server, der textuelle Daten enthält.
In[1]:=
socket = SocketConnect["http://exampledata.wolfram.com"]
Out[1]=
Schreiben Sie eine Zeile mit einer GET-Anfrage für eine Textdatei, die alle US-Staaten enthält.
In[2]:=
WriteLine[socket, "GET /50states.txt HTTP/1.0 \n"]
Lesen Sie die erste Zeile der Antwort.
In[3]:=
ReadLine[socket]
Out[3]=
Lesen Sie alle verbleibenden Zeilen.
In[4]:=
output = ReadString[socket];
Inspizieren Sie die Mitte des Strings, um den Anfang einer Liste von Staaten zu sehen, die durch Zeilenumbruch getrennt sind.
In[5]:=
StringTake[output, {277, 347}]
Out[5]=
Parsen Sie mit SemanticImportString den Output und löschen Sie Elemente, die nicht geparst wurden.
In[6]:=
states = DeleteMissing[SemanticImportString[output]]
Out[6]=
Testen Sie, ob alle Staaten gefunden wurden.
In[7]:=
Equal[Length[states],
Length[EntityList[
EntityClass["AdministrativeDivision", "USStatesAllStates"]]]]
Out[7]=
Schließen Sie den Stream.
In[8]:=
Close[socket]