Wolfram Language

Interfaces de la nube y web

Controle respuestas web para el rastreo de la Estación Espacial

Usted puede controlar las propiedades exactas de la respuesta de HTTP desde un objeto de la nube por medio del regreso de una HTTPResponse. Las condiciones de error pueden ser manejadas con HTTPErrorResponse.

Defina una función que encuentre la ciudad más cercana con respecto a la ubicación actual de la Estación Espacial Internacional. La estación espacial se mueve rápidamente, así que los resultados cambian rápidamente.

muestre la entrada completa de Wolfram Language
In[1]:=
Click for copyable input
issLocationDisplay[] := Module[{pos, posline, country, city, distance}, {pos, posline} = SatelliteData[ Entity["Satellite", "25544"], {"Position", "PositionLine"}]; country = First[GeoNearest["Country", pos]]; distance = Round[GeoDistance[pos, country], 0.1]; Panel@Column[{Row[{"ISS Position: ", Style[If[distance <= Quantity[0., "Miles"], "over " <> First[GeoNearest["City", pos]]["Name"] <> ", " <> country["Name"], ToString[ Row[{"over the open sea ", distance, " from ", country["Name"]}]]], Darker[Blue]]}, BaseStyle -> Directive["FontFamily" -> "SansSerif", RGBColor["#497CA4"], Larger, Bold]], GeoGraphics[{Gray, Thickness[.005], Arrowheads[{{0.05, 0.4}, {0.05, 0.13}}], Arrow @@ posline, Red, PointSize[.01], Point[pos], Opacity[.1], Black, GeoVisibleRegion[pos]}, GeoCenter -> pos, GeoRange -> "World", ImageSize -> 600]}]]
In[2]:=
Click for copyable input
issLocationDisplay[]
Out[2]=

Implemente un objeto de la nube que calcule el resultado cada vez, usando HTTPResponse para indicar el tipo de contenido y para especificar una cabecera que le indique al navegador web que no almacene en caché el resultado.

In[3]:=
Click for copyable input
obj = CloudDeploy[ Delayed[HTTPResponse[ ExportString[issLocationDisplay[], "PNG"], <| "ContentType" -> "image/png", "Headers" -> {"Cache-Control" -> "no-cache"}|>]], CloudObject["iss-location"], Permissions -> "Public"]
Out[3]=

Prohíbale a ciertos usuarios usar el objeto de la nube, regresando una respuesta HTTPErrorResponse.

In[4]:=
Click for copyable input
obj = CloudDeploy[Delayed[ If[MemberQ[{"badapple@example.com", "blackhat@example.com", "spammer@example.com"}, $WolframID], HTTPErrorResponse[403], HTTPResponse[ issLocationDisplay[], <| "Headers" -> {"Cache-Control" -> "no-cache"}|>] ]], CloudObject["iss-location"], Permissions -> "Public"]
Out[4]=

Ejemplos relacionados

de en fr ja ko pt-br ru zh