Заранее спасибо. Может ли кто-нибудь помочь мне с этой проблемой, мне нужно получить значение из URL-адреса обратного вызова. URL-адрес обратного вызова выглядит следующим образом. что параметры из URL-адреса обратного вызова отправлены третьей стороной.

     "https://www.viewmyrecord.com/Texting/GetReply.asp?from=1561234567&to=15698745642&text=Hi 
      Kid,Reminder November 22, 2019 w/ REN, MD at 11:00 am&datetime=Nov 11 2019 10:17PM&cost=0.00" 

Мне нужно проанализировать значение "от", "до", "текст", "дата и время" и "стоимость". И сохраните его в текстовый файл. Я понятия не имею об этом. но мой "GetReply.asp" выглядит так.

      <%
       If Request.TotalBytes > 0 Then
       Dim lngBytesCount,try
       lngBytesCount = Request.TotalBytes
       Response.Write BytesToStr(Request.BinaryRead(lngBytesCount))

       dim fs,tfile,loc,locadd,loctime,loctime1,nameFile,datename

       datDate = Now()
       locadd = Trim(FormatDateTime(datDate, 1)) 
       loctime = FormatDateTime(datDate, 4)
       loctime1 =  stripNonNumeric(FormatDateTime(Now, 3))
       nameFile = "\\85new\Accts85new\Texting\Reply\"
       datename = Trim(loctime1&"-"&locadd&".txt")
       loc = "\\85new\Accts85new\Texting\Reply\"&loctime1&"-"&locadd&".txt"
       set fs=Server.CreateObject("Scripting.FileSystemObject")
       set tfile=fs.CreateTextFile(loc)
       tfile.WriteLine(try)
       tfile.close
       set tfile=nothing
       set fs=nothing
       end if

      Function BytesToStr(bytes)
      Dim Stream
      Set Stream = Server.CreateObject("Adodb.Stream")
      Stream.Type = 1 'adTypeBinary
      Stream.Open
      Stream.Write bytes
      Stream.Position = 0
      Stream.Type = 2 'adTypeText
      Stream.Charset = "iso-8859-1"
      BytesToStr = Stream.ReadText
      try = BytesToStr
      Stream.Close
      Set Stream = Nothing
      End Function

      Function stripNonNumeric(inputString)
          Set regEx = New RegExp
          regEx.Global = True
          regEx.Pattern = "\D"
          stripNonNumeric = regEx.Replace(inputString,"")
      End Function

    %>

На этот "GetReply.asp" я получаю ответ "200 ok" Может ли кто-нибудь сказать мне, что мне не хватает или чего не хватает в этом коде. Я буду очень признателен. Огромное спасибо заранее.

0
RaiAnne 4 Дек 2019 в 04:12
1
Привет, похоже, вы идете по трудному пути... Сначала вы должны убедиться, что ваши параметры "текст" и "дата и время" закодированы в URL. После этого остается только получить эти параметры с помощью request.querystring() и записать их в файл с помощью FileSystemObject. Я не вижу необходимости в потоке ADO...
 – 
user5327930
4 Дек 2019 в 10:24
Здравствуйте @ChrisBE, мне очень жаль, не могли бы вы объяснить это подробно. Потому что, честно говоря, я не понимаю.
 – 
RaiAnne
5 Дек 2019 в 04:17

1 ответ

Как я сказал в своем комментарии, я не уверен, почему вы проходите через всю боль ADO Stream. Насколько я могу судить из вашего кода, все, что вам нужно сделать, это что-то вроде этого:

dim strFrom, strTo, strText, strDatetime

strFrom = request.querystring("from")
strTo = request.querystring("to")
strText = request.querystring("text")
strDatetime = request.querystring("datetime")

Затем используйте FileSystemObject, как вы это делаете сейчас, чтобы записать эти значения в файл.

Но если вы получите эти значения от третьей стороны, я ожидаю, что по крайней мере параметр «текст» будет закодирован в URL...

2
user5327930user5327930 5 Дек 2019 в 10:32
Привет, @ChrisBE, большое спасибо за ваш ответ, я очень ценю его, и он мне очень помогает. Теперь я получаю значения из URL-адреса обратного вызова. Спасибо
 – 
RaiAnne
12 Дек 2019 в 03:32
Если этот ответ помог вам решить ваш вопрос, отметьте его зеленой галочкой рядом с ним.
 – 
Dijkgraaf
16 Дек 2019 в 04:20