Size: a a a

2020 July 01

SM

Super Man in pro.lua
function make_query_string(data)
 local query_string
   for k,v in pairs(data) do
   if query_string == nil then
     query_string = k .. "=" .. v
   else
     query_string = query_string .. "&" .. k .. "=" .. v
   end
 end

 return query_string
end
источник

SM

Super Man in pro.lua
вот сделал так, это нормально или не очень?
источник

SM

Super Man in pro.lua
я к тому, что надо наверное экранировать символы еще всякие
источник

S

Snusmumriken in pro.lua
Нормально. А теперь пихни это в body, а в Content-Type пихни "application/form-data"
источник

S

Snusmumriken in pro.lua
Правда, лучше наверное вот так примерно:

function make_query_or_form_data_string(data)
 local res = {}
 for k, v in pairs(data) do
   local kv = tostring(k) .. "=" .. tostring(v)
   table.insert(res, kv)
 end
 return table.concat(res, "&")
end
источник

SM

Super Man in pro.lua
а если у меня в элементах будут &?
источник

S

Snusmumriken in pro.lua
Ну чтобы совсем круто, используешь urlencode типа
local kv = urlencode(tostring(k)) .. "=" .. urlencode(tostring(v))
источник

SM

Super Man in pro.lua
ага, понял, наверное с урлэнкоде будет правильнее, сейчас сделаю
источник

I

Igor725 in pro.lua
Я, кстати, без urlencode в ключе обходился всегда, ни разу не сталкивался с ситуёвиной, когда бы в ключе нужно было экранировать символы.
источник

S

Snusmumriken in pro.lua
Если кидать айдишки — да.
источник

SM

Super Man in pro.lua
я кидаю айдишки, но на всякий случай хочется перестраховаться
источник

SM

Super Man in pro.lua
function url_encode(str)
 if (str) then
   str = string.gsub(str, "\n", "\r\n");
   str = string.gsub(str, "([^%w ])", function (c) return string.format ("%%%02X", string.byte(c)) end)
   str = string.gsub(str, " ", "+")
 end

 return str
end

function make_query_or_form_data_string(data)
 local res = {}
 for k, v in pairs(data) do
   local kv = url_encode(tostring(k)) .. "=" .. url_encode(tostring(v))
   table.insert(res, kv)
 end
 return table.concat(res, "&")
end
источник

SM

Super Man in pro.lua
вот так сделал
источник

SM

Super Man in pro.lua
правда хедер почему-то тот не сработал, зато сработало с тем же хедером, что и был         ["Content-Type"] = "application/x-www-form-urlencoded",
источник

S

Snusmumriken in pro.lua
Super Man
правда хедер почему-то тот не сработал, зато сработало с тем же хедером, что и был         ["Content-Type"] = "application/x-www-form-urlencoded",
А, ну ды
источник

S

Snusmumriken in pro.lua
Igor725
Я, кстати, без urlencode в ключе обходился всегда, ни разу не сталкивался с ситуёвиной, когда бы в ключе нужно было экранировать символы.
А я с телегой общался get'ами, типа:
https://api.telegram.org/bot1234/sendmessage?text=<html><p>привет как дела?</p></html>to=12345
А всё потому что не мог курлом нормально настроить body ))
источник

SM

Super Man in pro.lua
просто гет ограничен по размеру, а пост нет, я по этой причине хочу пост
источник

SM

Super Man in pro.lua
в целом вроде все работает, спасибо
источник
2020 July 02

S

Snusmumriken in pro.lua
@SHRED4RED, на сколько процентов ты живой?
источник

AS

Andrew Suvalov in pro.lua
3
источник