当我去
我收到了一个包含良好数据的json。
即
[
{
"url": "https://api.github.com/gists/5143977",
"forks_url": "https://api.github.com/gists/5143977/forks",
"commits_url": "https://api.github.com/gists/5143977/commits",
"id": "5143977",
etc.
但如果我用这段代码读取SAME地址:
String jsonString = null;
InputStream is = null;
HttpResponse response = null;
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://api.github.com/users/jkirkell/gists");
response = httpclient.execute(httppost);
}catch(Exception e){
throw e;
}
我收到了这个json字符串:
{"message":"Not Found"}
我的代码有什么问题?
答案 0 :(得分:3)
是Get
请求,但您正在使用HTTP帖子。
尝试阅读
int k = 0;
URL url = new URL(yoururl);
InputStream input=url1.openStream();
BufferedInputStream bis=new BufferedInputStream(input);
ByteArrayBuffer baf=new ByteArrayBuffer(1000);
while((k=bis.read())!=-1)
{
baf.append((byte)k);
}
String data=new String(baf.toByteArray());
答案 1 :(得分:2)
您应该使用HttpGet
代替HttpPost
:
HttpClient httpclient = new DefaultHttpClient();
HttpGet request = new HttpGet("https://api.github.com/users/jkirkell/gists");
response = httpclient.execute(request);