Wolfram Language

Interfaces de Cloud et de Web

Contrôlez les réponses web pour le suiveur de la Station spatiale

Vous pouvez contrôler les caractéristiques exactes de la réponse HTTP à partir d'un objet de cloud au moyen du retour d'une HTTPResponse. Les conditions d'erreur peuvent être manipulées avec HTTPErrorResponse.

Définissez une fonction qui trouve la ville la plus proche de la position actuelle de la Station spatiale internationale. La station spatiale se déplace rapidement, de sorte que les résultats changent rapidement.

Montrer l'entrée complète 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]=

Déployez un objet de cloud qui calcule le résultat à chaque fois, en utilisant HTTPResponse pour indiquer le type de contenu et de spécifier un en-tête qui indique au navigateur de ne pas mettre en cache le résultat.

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]=

Interdites certains utilisateurs d'utiliser l'objet de cloud, retournant un 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]=

Exemples connexes

de en es ja ko pt-br ru zh