restful.http.HttpExample
Class restful.http.HttpExample Extends %RegisteredObject
{
/// Sending HTTP Requests
/// d ##class(restful.http.HttpExample).HttpRequest()
ClassMethod HttpRequest()
{
/* Http Get() */
s request = ##class(%Net.HttpRequest).%New()
s request.Server = "restapi.amap.com"
s request.Port = "80"
s request.Location = "/v3/weather/weatherInfo"
d request.InsertParam("key","60b052670e802d8dcfc21909f0ae8078")
d request.InsertParam("city","340124")
s status = request.Get()
if $$$ISERR(status){
do $system.OBJ.DisplayError()
}else{
s response = request.HttpResponse
s statusCode = response.StatusCode
s data = response.Data
s weatherInfo = {}.%FromJSON(data)
s lives = weatherInfo.lives
s itr = lives.%GetIterator()
while itr.%GetNext(.key, .val){
s province = val.province
s city = val.city
s weather = val.weather
s temperature = val."temperature_float"
w province_city_":"_weather_","_temperature_"℃ ",!
}
}
/* Http Post() */
s request = ##class(%Net.HttpRequest).%New()
s request.Server = "restapi.amap.com"
s request.Port = "80"
s request.Location = "/v3/weather/weatherInfo"
d request.InsertFormData("key","60b052670e802d8dcfc21909f0ae8078") //发送表单
d request.InsertFormData("city","340124")
s status = request.Post()
if $$$ISERR(status){
do $system.OBJ.DisplayError()
}else{
s response = request.HttpResponse
s statusCode = response.StatusCode
s data = response.Data
s weatherInfo = {}.%FromJSON(data)
s lives = weatherInfo.lives
s itr = lives.%GetIterator()
while itr.%GetNext(.key, .val){
s province = val.province
s city = val.city
s weather = val.weather
s temperature = val."temperature_float"
w province_city_":"_weather_","_temperature_"℃ ",!
}
}
/* Other */
#; s request.Https=1
#; s request.SSLConfiguration="MySSLConfiguration"
#; d request.SetHeader("authorization",token) //认证
#; s request.Username="10695144-4GA075FF" //认证
#; s request.Password="welcome1"
#;d request.EntityBody.SetAttribute("CONTENT-TYPE","application/json")
#; d request.EntityBody.CopyFrom(InputStream) //请求主体
}
}