嗨,我有以下捲曲如何從此cURL轉換此HttpURLConnection實現獲取json數據?
curl -X GET --header "api-key: sOmE-API-kEy" "https://api.data.gov.sg/v1/environment/uv-index?date=2016-06-01"
我從智能國家提供的數據其網站上使用他們的形式返回正確的JSON數據,但我想使用HttpURLConnection的迄今通過代碼來做到這一點的網站得到我遵循我在網上找到的代碼引用,但它不工作,我看不出有什麼問題,我得到了NetworkOnMainThreadException,我通過將它作爲AsyncTask實現來解決,但是當我在android studio中調試它現在返回的FileNotFoundException時。我也嘗試使用下面建議的TrustedManager等,它仍然有相同的錯誤。有一兩件事我注意到的是,當我去的網站,並點擊按鈕,看看它在螢火以下是processessed一...
https://apiconsole-prod.apigee.net/smartdocs/v1/sendrequest?targeturl=https%3A%2F%2Fapi.data.gov.sg%2Fv1%2Fenvironment%2Fuv-index%3Fdate%3D2016-06-01&_=1469245322558
,但如果我直接從瀏覽器的響應類型有這樣的事情... steps.oauth.v2.FailedToResolveAPIKey%22%7D%7D%7D」, 「responseStatusCode」: 「401」
URL url = new URL("https://api.data.gov.sg/v1/environment/uv-index?date=2016-06-01");
urlConn = (HttpURLConnection)url.openConnection();
urlConn.setRequestMethod("GET");
urlConn.setDoInput(true);
urlConn.setDoOutput(true);
urlConn.setRequestProperty("Content-Type", "application/json");
urlConn.setRequestProperty("Accept", "application/json");
urlConn.setRequestProperty("api-key", "sOmE-API-kEy");
in = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
String line;
StringBuilder buffer = new StringBuilder();
while ((line = in.readLine()) != null) {
buffer.append(line).append('\n');
}
// Chomp the last newline
buffer.deleteCharAt(buffer.length() - 1);
**注apikey更名爲隱私
所以簡而言之,從螢火蟲的頭部數據如何完成我的HT TP代碼實現
Accept
*/*
Accept-Encoding
gzip, deflate, br
Accept-Language
en-US,en;q=0.5
DNT
1
Host
apiconsole-prod.apigee.net
Origin
https://developers.data.gov.sg
Referer
https://developers.data.gov.sg/datagovsg-apis/apis/get/environment/uv-index
User-Agent
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
api-key: sOmE-API-kEy
我設法使用 http://stackoverflow.com/questions/6343166/how-to-fix-android-os-networkonmainthreadexception 發現的AsyncTask解決方案留下的唯一的問題是我不能讓個NetworkOnMainThreadException解決與我使用網站表單時相同的結果... – debonaire
您是否嘗試禁用證書驗證SSL –
尚未嘗試。感謝您的建議,我會盡快更新你的結果 – debonaire