urlがブラウザで動作するとき、requests.getがタイムアウトする原因は何ですか?requests.getはブラウザで即座に返される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
私は私自身のネットワーク上の私の個人的なPCで結果を得ることができたので、仕事場のネットワークがどうにか応答をブロックしていると思われ始めている。しかし、ここでのテクニカルサポートは素晴らしいことではないので、API呼び出しを行うと失敗する原因を特定する必要がありますが、ヘッダマスキングを使用していてもブラウザで機能します。何か案は? –