Wolfram Language

Systemnahe Funktionalität

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]:=
Click for copyable input
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]:=
Click for copyable input
WriteLine[socket, "GET /50states.txt HTTP/1.0 \n"]

Lesen Sie die erste Zeile der Antwort.

In[3]:=
Click for copyable input
ReadLine[socket]
Out[3]=

Lesen Sie alle verbleibenden Zeilen.

In[4]:=
Click for copyable input
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]:=
Click for copyable input
StringTake[output, {277, 347}]
Out[5]=

Parsen Sie mit SemanticImportString den Output und löschen Sie Elemente, die nicht geparst wurden.

In[6]:=
Click for copyable input
states = DeleteMissing[SemanticImportString[output]]
Out[6]=

Testen Sie, ob alle Staaten gefunden wurden.

In[7]:=
Click for copyable input
Equal[Length[states], Length[EntityList[ EntityClass["AdministrativeDivision", "USStatesAllStates"]]]]
Out[7]=

Schließen Sie den Stream.

In[8]:=
Click for copyable input
Close[socket]

Verwandte Beispiele

en es fr ja ko pt-br ru zh