用套接字读取和解析美国的州
和其他流一样,也可以用流操作读取和解析套接字.
打开到含有文字数据的服务器的连接.
In[1]:=
socket = SocketConnect["http://exampledata.wolfram.com"]
Out[1]=
写一行命令,其中包括一个向含有所有美国的州的文本文件发出 GET 请求的命令.
In[2]:=
WriteLine[socket, "GET /50states.txt HTTP/1.0 \n"]
读取响应的第一行.
In[3]:=
ReadLine[socket]
Out[3]=
读取剩下的所有行.
In[4]:=
output = ReadString[socket];
检查字符串的中间部分,查看以新行分隔的州的列表.
In[5]:=
StringTake[output, {277, 347}]
Out[5]=
用 SemanticImportString 对结果进行解析,删除无法解析的元素.
In[6]:=
states = DeleteMissing[SemanticImportString[output]]
Out[6]=
检查是否所有的州都包含在内.
In[7]:=
Equal[Length[states],
Length[EntityList[
EntityClass["AdministrativeDivision", "USStatesAllStates"]]]]
Out[7]=
关闭流.
In[8]:=
Close[socket]