Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
test anti img theft strategy
import unittest
import requests
referer = [........]
class TestAntiTheft(unittest.TestCase):
"""
requests headers default
"headers":{
"Accept":[
"*/*"
],
"Connection":[
"keep-alive"
],
"User-Agent":[
"python-requests/2.25.1"
],
"Accept-Encoding":[
"gzip, deflate"
]
},
"""
def __init__(self, *args, **kwargs):
self.url = "https://[.............].gif"
self.content_length = [.....]
self.AntiTheft_content_length = [..]
super().__init__(*args, **kwargs)
def test_right_referer(self):
headers = {'Referer': referer}
r = requests.get(self.url, headers=headers)
content_length = int(r.headers["Content-Length"])
self.assertEqual(content_length, self.content_length)
def test_right_referer_accept_img(self):
headers = {
'Referer': referer,
'Accept': 'image'
}
r = requests.get(self.url, headers=headers)
content_length = int(r.headers["Content-Length"])
self.assertEqual(content_length, self.content_length)
def test_wrong_referer_accept_img(self):
headers = {
'Referer': referer,
'Accept': '*'
}
r = requests.get(self.url, headers=headers)
content_length = int(r.headers["Content-Length"])
self.assertEqual(content_length, self.AntiTheft_content_length)
def test_wrong_referer(self):
headers = {'Referer': referer}
r = requests.get(self.url, headers=headers)
content_length = int(r.headers["Content-Length"])
self.assertEqual(content_length, self.AntiTheft_content_length)
def test_no_referer_accept_img(self):
headers = {'Accept': 'image'}
r = requests.get(self.url, headers=headers)
content_length = int(r.headers["Content-Length"])
self.assertEqual(content_length, self.AntiTheft_content_length)
def test_no_referer_accept_any(self):
headers = {'Accept': '*'}
r = requests.get(self.url, headers=headers)
content_length = int(r.headers["Content-Length"])
self.assertEqual(content_length, self.content_length)
if __name__ == '__main__':
unittest.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment