<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 https
Step1:  Request 2
Step2:  Request 3
Step3:  Request 4
Step4:  On a side note
<ASSISTANT_TASK:>
Python Code:
fullbase = requests.compat.urljoin(baseurl, endpoint_datatypes)
r = requests.get(
    fullbase, 
    headers=custom_headers,
#    params={'limit':1000},
    params={'limit':1000, 'datasetid':"NORMAL_DLY"},
)
r.headers
r.text
json.loads(r.text)
Explanation: https://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GSOM&datatypeid=EMNT&datatypeid=EMXT&datatypeid=EMXP&startdate=2017-07-01&enddate=2017-07-31&stationid=GHCND:USW00026615
Request 1: Available datatypes for a dataset, e.g. daily or monthly normals
End of explanation
fullbase = requests.compat.urljoin(baseurl, endpoint_data)
r = requests.get(
    fullbase, 
    headers=custom_headers,
    params=params,
)
json.loads(r.text)
r.headers
Explanation: Request 2: Data for a station
End of explanation
fullbase = requests.compat.urljoin(baseurl, endpoint_datasets)
r = requests.get(
    fullbase, 
    headers=custom_headers,
)
json.loads(r.text)
Explanation: Request 3: Available datasets
End of explanation
for station in all_stations:
    path = os.path.join(endpoint_stations, "GHCND:{}".format(station))
    fullbase = requests.compat.urljoin(baseurl, path)
    r = requests.get(
        fullbase, 
        headers=custom_headers,
    )
    print(json.dumps(json.loads(r.text), indent=2))
fullbase = requests.compat.urljoin(baseurl, endpoint_stations, "GHCND:{}".format(station))
fullbase
Explanation: Request 4: Information about our stations
End of explanation
0o77
Explanation: On a side note: Python integers that start with 0o (zero - lowercase o) are octal. 7 * 8 + 7 = 63.
End of explanation
<END_TASK>