Wolfram 语言

系统级功能

用套接字读取和解析美国的州

和其他流一样,也可以用流操作读取和解析套接字.

打开到含有文字数据的服务器的连接.

In[1]:=
Click for copyable input
socket = SocketConnect["http://exampledata.wolfram.com"]
Out[1]=

写一行命令,其中包括一个向含有所有美国的州的文本文件发出 GET 请求的命令.

In[2]:=
Click for copyable input
WriteLine[socket, "GET /50states.txt HTTP/1.0 \n"]

读取响应的第一行.

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

读取剩下的所有行.

In[4]:=
Click for copyable input
output = ReadString[socket];

检查字符串的中间部分,查看以新行分隔的州的列表.

In[5]:=
Click for copyable input
StringTake[output, {277, 347}]
Out[5]=

SemanticImportString 对结果进行解析,删除无法解析的元素.

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

检查是否所有的州都包含在内.

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

关闭流.

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

相关范例

de en es fr ja ko pt-br ru