繁体   English   中英

HttpClient执行时出现org.apache.http.client.ClientProtocolException

[英]org.apache.http.client.ClientProtocolException appears when HttpClient executes

我想通过POST请求向服务器发送一些数据。 我的代码:

protected Void doInBackground(Void... arg)
        {       
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost post = new HttpPost("https://money.yandex.ru/oauth/authorize");

            post.addHeader("Host", "m.sp-money.yandex.ru");
            post.addHeader("Content-Type", "application/x-www-form-urlencoded");
            post.addHeader("Content-Length", "154");

            //data back from server
            String responseBackFromServer = "";

            try 
            {
                List<NameValuePair> pairs = new ArrayList<NameValuePair>();
                pairs.add(new BasicNameValuePair("client_id", "51"));
                pairs.add(new BasicNameValuePair("response_type", "code"));
                pairs.add(new BasicNameValuePair("redirect_uri", "https://vk.com/"));
                pairs.add(new BasicNameValuePair("scope", "account-info"));

                post.setEntity(new UrlEncodedFormEntity(pairs));
                HttpResponse server_response = httpclient.execute(post);//!!!exception is appearing here!!!

                responseBackFromServer = EntityUtils.toString(server_response.getEntity());

            }
            catch (ClientProtocolException e) 
            {
                e.printStackTrace();
                Log.d(LOG_TAG, "" + e);
            }
}

但是在“ HttpResponse server_response = httpclient.execute(post);”上 出现字符串ClientProtocolException。 我该如何解决?

尝试删除所有的addHeader语句。 该框架应为您添加它们。

参见此处的示例: https : //hc.apache.org/httpcomponents-client-4.3.x/quickstart.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM