Цель, к которой вы пытаетесь добраться, - отправить HTTP-запрос POST с пользовательскими данными публикации и пользовательским заголовком - все с помощью сценария ASP.
ASP Classic имеет две разные реализации: VBScript и JScript.Я собираюсь дать ответ на VBScript.
<%
sub DoPOST(strJsonData, strEndpointURL, strAuthorizationToken)
dim objHttp
set objHttp = server.createobject("MSXML2.ServerXMLHTTP")
with objHttp
.open "POST", strEndpointURL, false
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
if len(strAuthorizationToken) > 0 then
.setRequestHeader "Authorization", "Bearer "& strAuthorizationToken
end if
.send strJsonData
end with
Set xmlhttp = nothing
end sub
strPostData = "{""http_status"": 200, ""status"": ""success"", ""tranquility"": { ""tranquility"": [{""meaning"": ""the quality or state of being tranquil; calm.""}],""total_results"": 1,""page"": 1,""page_size"": 1,""total_pages"": 1}}"
call DoPOST(strPostData, "https://www.phoneburner.com/rest/1/tranquility", empty)
strPostData = "{ ""http_status"": 200, ""status"": ""success"", ""members"": { ""total_results"": 1, ""members"": [{""user_id"": ""1234567"",""username"": ""saulgoodman"",""first_name"": ""Saul"",""last_name"": ""Goodman"",""email_address"": ""callsaul@bettercallsaul.com"",""date_added"": ""2013-01-17 17:12:13"",""phone"": ""9492181234"",""display_name"": ""Standard Account"",""billing_item_id"": ""131"",""subscription_status"": ""1"",""_link"":{""self"":{""href"": ""\/rest\/1\/members\/1234567""}}}],""page"": 1,""page_size"": 1,""total_pages"": 1}"
call DoPOST(strPostData, "https://www.phoneburner.com/rest/1/members/", "EibGl9i8WNi0iI3a0He6PYg1Kntpzq8y3foSxQyg")
%>
Объяснение:
Я создал подпрограмму, которая выполняет операцию HTTP POST через объект MSXML2.ServerXMLHTTP.Вы можете вызывать эту подпрограмму дважды, просто предоставляя ей разные параметры каждый раз.
Некоторые важные замечания о коде, который я предоставил:
1) Вы должны экранировать каждую цитату в вашей строке JSONпоскольку ASP VBScript использует только строки кавычек для выделения строковых литералов, поэтому, удваивая кавычки в вашем JSON с другим, вы фактически избегаете его (например, «JSON» становится «« JSON »»).
2)Второй параметр - это URL-адрес, на который необходимо отправить данные.
3) Третий параметр - это ваш токен авторизации, который будет передаваться в заголовке HTTP во втором POST (т. Е. Authorization: Bearer EibGl9i8WNi0iI3a0He6PYg1Kntpzq8y3foSxQyg).Если вы предоставите его в списке аргументов, подпрограмма отправит его в HTTP POST с заголовком Authorization;если вы оставите это поле пустым (то есть пустым), заголовок будет пропущен.Это важное различие между первым вызовом и вторым вызовом подпрограммы.