Android 正在获取Youtube api的HttpResponse(未找到)

Android 正在获取Youtube api的HttpResponse(未找到),android,youtube-api,httpresponse,Android,Youtube Api,Httpresponse,我正在应用程序中使用YouTube api。我得到了HttpSposeException。我得到以下错误: 我的活动: searching="https://www.googleapis.com/youtube/v3/search?part=snippet&videoSyndicated=true&type=video&q=len&key=AIzaSyDEWZ7vU_zPi1qgaWEREQEJi2FB3IQCE4g&maxResults=25&p

我正在应用程序中使用YouTube api。我得到了HttpSposeException。我得到以下错误:

我的活动:

searching="https://www.googleapis.com/youtube/v3/search?part=snippet&videoSyndicated=true&type=video&q=len&key=AIzaSyDEWZ7vU_zPi1qgaWEREQEJi2FB3IQCE4g&maxResults=25&pageToken=";
protected Long doInBackground(URL... params) 
    {
        //TODO Auto-generated method stub
        result = UrltoValue.getValuefromUrl(searching);
        return null;
    }
日志:

org.apache.http.client.HttpResponseException: Not Found
    at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:71)
    at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:59)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:657)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
用于将url转换为响应的类:

public class UrltoValue {
    static String page="zero";
    public static String getValuefromUrl(String url) throws TimeoutException
    {
        try
        {
            final int TIMEOUT_MILLISEC = 20000;
            HttpParams httpParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
            HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
            HttpConnectionParams.setTcpNoDelay(httpParams, true);
            HttpClient httpClient = new DefaultHttpClient(httpParams);
            //DefaultHttpClient httpClient = new DefaultHttpClient();
            URLEncoder.encode(url, "UTF-8");
            HttpPost httpPost = new HttpPost(url);

            ResponseHandler<String> resHandler = new BasicResponseHandler();
            page = httpClient.execute(httpPost, resHandler);
            Log.v("PAGE",page);
            return page;
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            String zero="zero";
            return zero;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            String zero="zero";
            return zero;
        } catch(IllegalArgumentException e) {
            e.printStackTrace();
            String zero="zero";
            return zero;
            //Toast.makeText(context, "Please remove % symbol", Toast.LENGTH_SHORT);
        } catch(Exception e) {
            e.printStackTrace();
            String zero="zero";
            return zero;
        }
    }
}
public类UrltoValue{
静态字符串page=“零”;
公共静态字符串getValuefromUrl(字符串url)引发TimeoutException
{
尝试
{
最终整数超时_毫秒=20000;
HttpParams HttpParams=新的BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,超时0毫秒);
HttpConnectionParams.setSoTimeout(httpParams,超时0毫秒);
HttpConnectionParams.setTcpNoDelay(httpParams,true);
HttpClient HttpClient=新的默认HttpClient(httpParams);
//DefaultHttpClient httpClient=新的DefaultHttpClient();
编码(url,“UTF-8”);
HttpPost HttpPost=新的HttpPost(url);
ResponseHandler resHandler=new BasicResponseHandler();
page=httpClient.execute(httpPost,resHandler);
Log.v(“第页”,第页);
返回页面;
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
字符串zero=“zero”;
返回零;
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
字符串zero=“zero”;
返回零;
}捕获(IllegalArgumentException e){
e、 printStackTrace();
字符串zero=“zero”;
返回零;
//Toast.makeText(上下文“请删除%symbol”,Toast.LENGTH\u SHORT);
}捕获(例外e){
e、 printStackTrace();
字符串zero=“zero”;
返回零;
}
}
}

您指向的是一个不存在的url。这就是stacktrace所说的:

org.apache.http.client.HttpResponseException: Not Found
原因是youtube url不接受POST请求

更改此项:

HttpPost httpPost = new HttpPost(url);
page = httpClient.execute(httpPost, resHandler);
为此:

HttpGet httpGet = new HttpGet(url);
page = httpClient.execute(httpGet, resHandler);
一切都会好起来的