Skip to content

Instantly share code, notes, and snippets.

@jvgutierrez
Last active August 20, 2019 03:31
Show Gist options
  • Save jvgutierrez/997d155bf3fc1e6668acb1b1125f58ba to your computer and use it in GitHub Desktop.
Save jvgutierrez/997d155bf3fc1e6668acb1b1125f58ba to your computer and use it in GitHub Desktop.
check differences for the same request in different ports
import hashlib
import requests
PORTS = (443, 8443)
HEADERS = {'Host': 'upload.wikimedia.org'}
PATHS = (
'/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif',
'/wikipedia/commons/thumb/5/55/WMA_button2b.png/17px-WMA_button2b.png',
'/wikipedia/commons/thumb/9/9e/Flag_of_Japan.svg/25px-Flag_of_Japan.svg.png',
'/wikipedia/commons/d/d4/Button_hide.png',
'/wikipedia/commons/b/b5/Button_resize.png',
'/wikipedia/commons/thumb/f/ff/Wikidata-logo.svg/20px-Wikidata-logo.svg.png',
'/wikipedia/commons/thumb/8/89/Symbol_book_class2.svg/16px-Symbol_book_class2.svg.png',
'/wikipedia/commons/thumb/0/0d/Flag_of_Italy_%281861-1946%29_crowned.svg/23px-Flag_of_Italy_%281861-1946%29_crowned.svg.png',
'/wikipedia/commons/thumb/e/e2/Icon-Rechtshinweis-blau2-Asio.svg/20px-Icon-Rechtshinweis-blau2-Asio.svg.png',
'/wikipedia/commons/thumb/f/fa/Flag_of_the_People%27s_Republic_of_China.svg/23px-Flag_of_the_People%27s_Republic_of_China.svg.png',
'/wikipedia/commons/thumb/b/b0/Openstreetmap_logo.svg/17px-Openstreetmap_logo.svg.png',
'/wikipedia/commons/thumb/4/4c/Flag_of_Sweden.svg/20px-Flag_of_Sweden.svg.png',
'/wikipedia/donate/a/ac/Close_oojs.png',
'/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png',
'/wikipedia/en/thumb/0/05/Flag_of_Brazil.svg/22px-Flag_of_Brazil.svg.png',
'/wikipedia/commons/thumb/9/91/Wikiversity-logo.svg/20px-Wikiversity-logo.svg.png',
'/wikipedia/commons/thumb/5/53/P_history-lightblue.png/30px-P_history-lightblue.png',
'/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/16px-Wikibooks-logo.svg.png',
'/wikipedia/commons/thumb/5/5f/Disambig_gray.svg/25px-Disambig_gray.svg.png',
'/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/13px-Wikiquote-logo.svg.png',
'/wikipedia/commons/thumb/f/fa/Flag_of_the_People%27s_Republic_of_China.svg/20px-Flag_of_the_People%27s_Republic_of_China.svg.png',
'/wikipedia/commons/a/a6/Picto_infobox_TV-T%26PC.png',
'/wikipedia/commons/thumb/9/9e/Flag_of_Japan.svg/50px-Flag_of_Japan.svg.png',
'/wikipedia/commons/thumb/c/c3/Flag_of_France.svg/25px-Flag_of_France.svg.png',
'/wikipedia/commons/7/75/Wikimedia_France_logo.svg',
'/wikipedia/commons/thumb/2/24/Eric_Clapton_01May2015.jpg/220px-Eric_Clapton_01May2015.jpg',
'/wikipedia/commons/thumb/a/a4/Flag_of_the_United_States.svg/25px-Flag_of_the_United_States.svg.png',
'/wikipedia/commons/thumb/9/92/Flag_of_Belgium_%28civil%29.svg/23px-Flag_of_Belgium_%28civil%29.svg.png',
'/wikipedia/commons/thumb/5/5c/Flag_of_Portugal.svg/20px-Flag_of_Portugal.svg.png',
'/wikipedia/en/thumb/3/3b/SpongeBob_SquarePants_character.svg/1200px-SpongeBob_SquarePants_character.svg.png',
'/wikipedia/commons/thumb/3/31/La_Rendici%C3%B3n_de_Granada_-_Pradilla.jpg/220px-La_Rendici%C3%B3n_de_Granada_-_Pradilla.jpg',
'/wikipedia/commons/thumb/7/7f/Lockheed_Vega_5b_Smithsonian.jpg/220px-Lockheed_Vega_5b_Smithsonian.jpg',
'/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/20px-Wikisource-logo.svg.png',
'/wikipedia/commons/thumb/0/0b/Wikiversity_logo_2017.svg/41px-Wikiversity_logo_2017.svg.png',
'/wikipedia/commons/thumb/7/75/Wikimedia_Community_Logo.svg/20px-Wikimedia_Community_Logo.svg.png',
'/wikipedia/commons/thumb/1/12/Flag_of_Poland.svg/18px-Flag_of_Poland.svg.png',
'/wikipedia/commons/thumb/1/1c/Wiki_letter_w_cropped.svg/20px-Wiki_letter_w_cropped.svg.png',
'/wikipedia/commons/thumb/d/d4/Flag_of_Israel.svg/21px-Flag_of_Israel.svg.png',
'/wikipedia/commons/thumb/6/64/Question_book-4.svg/50px-Question_book-4.svg.png',
'/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png',
'/wikipedia/commons/thumb/8/8a/Wikivoyage-logo.svg/16px-Wikivoyage-logo.svg.png',
'/wikipedia/commons/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png',
'/wikipedia/commons/e/ea/Picto_infobox_cinema.png',
'/wikipedia/commons/thumb/5/5f/Disambig_gray.svg/50px-Disambig_gray.svg.png',
'/wikipedia/commons/7/74/Red_Pencil_Icon.png',
'/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png',
'/favicon.ico',
'/wikipedia/commons/thumb/3/37/People_icon.svg/16px-People_icon.svg.png',
'/wikipedia/commons/thumb/8/89/TTC_-_Line_5.svg/16px-TTC_-_Line_5.svg.png',
'/wikipedia/en/thumb/4/4c/Flag_of_Sweden.svg/23px-Flag_of_Sweden.svg.png',
)
def main():
results = {}
for port in PORTS:
results[port] = {}
for path in PATHS:
url = 'https://127.0.0.1:{}{}'.format(port, path)
r = requests.get(url, headers=HEADERS, verify=False)
if r.status_code != 200:
print("Unexpected status code {} requesting {}", r.status_code, url)
continue
results[port][path] = {'headers': r.headers, 'hash': hashlib.sha256(r.content).hexdigest()}
for path in PATHS:
if results[443][path]['hash'] != results[8443][path]['hash']:
print('Content hash does not match for {}'.format(path))
header_names_nginx = set(results[443][path]['headers'].keys())
header_names_ats = set(results[8443][path]['headers'].keys())
if len(header_names_nginx ^ header_names_ats) > 0:
print('Headers only in nginx: {}'.format(header_names_nginx - header_names_ats))
print('Headers only in ats: {}'.format(header_names_ats - header_names_nginx))
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment