Что вызовет request.get для тайм-аута, когда URL-адрес работает в браузере?request.get times out для URL-адреса, который мгновенно возвращается в браузер
Я видел ответ на requests.get returns 403 while the same url works in browser, который говорит о маскировке User-Agent, но моя проблема в том, что я получаю TimeoutError, а не то, что это запрещено. Я все равно пробовал, и это не помогло.
import requests
def onemap_geocode(postalcode):
header = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
onemap_request = 'https://developers.onemap.sg/commonapi/search?searchVal=' + str(postalcode) + '&returnGeom=Y&getAddrDetails=N'
print(onemap_request)
response = requests.get(onemap_request,headers=header)
print('response obtained')
response_json = response.json
lat = response_json['results'][0]['LATITUDE']
lon = response_json['results'][0]['LONGITUDE']
return lat + ', ' + lon
onemap_geocode(178880)
Я пробовал и не получаю таймаут. Но вы должны обновить строку 'esponse_json = response.json'' response_json = response.json() ', потому что она не может работать так. – Arount
Ну, проблема может быть на вашей стороне, я получил результат почти сразу – Shane
Мне удалось получить результат на моем персональном компьютере в моей собственной сети, поэтому я начинаю подозревать, что работа в сети блокирует ответ как-то , Тем не менее, техническая поддержка здесь невелика, поэтому мне нужно определить, что это значит, что она терпит неудачу, когда я вызываю вызов API таким образом, но он работает в браузере даже с маскировкой заголовка. Есть идеи? –