Wolfram 언어

클라우드 및 웹 인터페이스

우주 정거장 추적 웹 응답 제어

HTTPResponse를 반환함으로써 클라우드 개체에서 HTTP 응답의 정확한 기능들을 제어 할 수 있습니다. 오류 상태는 HTTPErrorResponse에서 처리 할 수 있습니다.

국제 우주 정거장의 현재 위치에 가장 가까운 도시를 찾을 함수를 정의합니다. 우주 정거장은 빨리 이동하기 때문에 결과도 시시각각 변경됩니다.

전체 Wolfram 언어 입력 표시하기
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]=

HTTPResponse를 사용하여 콘텐츠 형식을 나타내고 브라우저에 결과를 캐시에 저장하지 않도록 지시하는 헤더를 지정하여 매번 결과를 계산하는 클라우드 개체를 배치합니다.

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

특정 사용자가 클라우드 개체를 사용하는 것을 금지하고 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]=

관련 예제

de en es fr ja pt-br ru zh