嗨,我有以下卷曲如何从此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