mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-11-15 14:24:55 +00:00
Handle Pastebin spam protection and add a cache buster (#127)
This commit is contained in:
commit
162fb37421
@ -20,18 +20,29 @@ end
|
||||
|
||||
local function get(paste)
|
||||
write( "Connecting to pastebin.com... " )
|
||||
local response = http.get(
|
||||
"https://pastebin.com/raw/"..textutils.urlEncode( paste )
|
||||
-- Add a cache buster so that spam protection is re-checked
|
||||
local cacheBuster = ("%x"):format(math.random(0, 2^30))
|
||||
local response, err = http.get(
|
||||
"https://pastebin.com/raw/"..textutils.urlEncode( paste ).."?cb="..cacheBuster
|
||||
)
|
||||
|
||||
if response then
|
||||
-- If spam protection is activated, we get redirected to /paste with Content-Type: text/html
|
||||
local headers = response.getResponseHeaders()
|
||||
if not headers["Content-Type"] or not headers["Content-Type"]:find( "^text/plain" ) then
|
||||
io.stderr:write( "Failed.\n" )
|
||||
print( "Pastebin blocked the download due to spam protection. Please complete the captcha in a web browser: https://pastebin.com/"..textutils.urlEncode( paste ) )
|
||||
return
|
||||
end
|
||||
|
||||
print( "Success." )
|
||||
|
||||
local sResponse = response.readAll()
|
||||
response.close()
|
||||
return sResponse
|
||||
else
|
||||
print( "Failed." )
|
||||
io.stderr:write( "Failed.\n" )
|
||||
print(err)
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user