0

当我去

https://api.github.com/users/jkirkell/gists

我收到一个包含良好数据的 json。

IE

[
  {
    "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.

但是,如果我使用此代码读取相同的地址:

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"}

我的代码有什么问题?

4

2 回答 2

3

它是Get请求,但您使用的是 HTTP 发布。

试着像这样阅读

诠释 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());
于 2013-03-12T15:59:36.810 回答
2

您应该使用HttpGet而不是HttpPost

HttpClient httpclient = new DefaultHttpClient();
HttpGet request = new HttpGet("https://api.github.com/users/jkirkell/gists");
response = httpclient.execute(request);
于 2013-03-12T16:01:48.400 回答