Skip to content

Instantly share code, notes, and snippets.

@ananyo2012
Last active August 4, 2018 17:54
Show Gist options
  • Save ananyo2012/adfa34ff34f1e418724e71707cd7302e to your computer and use it in GitHub Desktop.
Save ananyo2012/adfa34ff34f1e418724e71707cd7302e to your computer and use it in GitHub Desktop.
Making HTTP Requests in python
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Status Code: 200\n",
"Reason: OK\n",
"Content: b'<!doctype html>\\n<!--[if lt IE 7]> <html class=\"no-js ie6 lt-ie7 lt-ie8 lt-ie9\"> <![endif]-->\\n<!--[if IE 7]> <html class=\"no-js ie7 lt-ie8 lt-ie9\"> <![endif]-->\\n<!--[if IE 8]> <h'\n"
]
}
],
"source": [
"# Sample HTTPS Request using http.client\n",
"\n",
"from http.client import HTTPSConnection\n",
"\n",
"conn = HTTPSConnection('www.python.org')\n",
"conn.request('GET', '/')\n",
"resp = conn.getresponse()\n",
"print('Status Code:', resp.status)\n",
"print('Reason:', resp.reason)\n",
"print('Content:', resp.read(200))"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Status Code: 200\n",
"Reason: OK\n",
"Content: b'{\"current_user_url\":\"https://api.github.com/user\",\"current_user_authorizations_html_url\":\"https://github.com/settings/connections/applications{/client_id}\",\"authorizations_url\":\"https://api.github.com/authorizations\",\"code_search_url\":\"https://api.github.com/search/code?q={query}{&page,per_page,sort,order}\",\"commit_search_url\":\"https://api.github.com/search/commits?q={query}{&page,per_page,sort,order}\",\"emails_url\":\"https://api.github.com/user/emails\",\"emojis_url\":\"https://api.github.com/emojis\",\"events_url\":\"https://api.github.com/events\",\"feeds_url\":\"https://api.github.com/feeds\",\"followers_url\":\"https://api.github.com/user/followers\",\"following_url\":\"https://api.github.com/user/following{/target}\",\"gists_url\":\"https://api.github.com/gists{/gist_id}\",\"hub_url\":\"https://api.github.com/hub\",\"issue_search_url\":\"https://api.github.com/search/issues?q={query}{&page,per_page,sort,order}\",\"issues_url\":\"https://api.github.com/issues\",\"keys_url\":\"https://api.github.com/user/keys\",\"notifications_url\":\"https://api.github.com/notifications\",\"organization_repositories_url\":\"https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}\",\"organization_url\":\"https://api.github.com/orgs/{org}\",\"public_gists_url\":\"https://api.github.com/gists/public\",\"rate_limit_url\":\"https://api.github.com/rate_limit\",\"repository_url\":\"https://api.github.com/repos/{owner}/{repo}\",\"repository_search_url\":\"https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}\",\"current_user_repositories_url\":\"https://api.github.com/user/repos{?type,page,per_page,sort}\",\"starred_url\":\"https://api.github.com/user/starred{/owner}{/repo}\",\"starred_gists_url\":\"https://api.github.com/gists/starred\",\"team_url\":\"https://api.github.com/teams\",\"user_url\":\"https://api.github.com/users/{user}\",\"user_organizations_url\":\"https://api.github.com/user/orgs\",\"user_repositories_url\":\"https://api.github.com/users/{user}/repos{?type,page,per_page,sort}\",\"user_search_url\":\"https://api.github.com/search/users?q={query}{&page,per_page,sort,order}\"}'\n"
]
}
],
"source": [
"# Basic Authorization in HTTPS\n",
"\n",
"from http.client import HTTPSConnection\n",
"from base64 import b64encode\n",
"\n",
"conn = HTTPSConnection('api.github.com')\n",
"\n",
"userAndPass = b64encode(b\"username:password\").decode('utf-8')\n",
"headers = { 'Authorization' : 'Basic %s' % userAndPass, 'User-Agent': 'Sample HTTPS Request' }\n",
"\n",
"conn.request('GET', '/', headers=headers)\n",
"resp = conn.getresponse()\n",
"\n",
"print('Status Code:', resp.status)\n",
"print('Reason:', resp.reason)\n",
"print('Content:', resp.read())"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.6",
"language": "python",
"name": "python36"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment