加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

给出java.lang.IllegalStateException的setRequestProperty方法

发布时间:2020-12-15 02:28:32 所属栏目:Java 来源:网络整理
导读:HttpURLConnection con = null; Response response = new Response(); String TAG = "HttpConHandler"; try{ /* * IMPORTANT: * User SHOULD provide URL Encoded Parms */ Log.p(TAG,"URL="+ urlStr); String q=httpHeaders.get("Authorization"); URL url
HttpURLConnection con = null;
        Response response = new Response();
        String TAG = "HttpConHandler";

        try{
            /*
             * IMPORTANT: 
             * User SHOULD provide URL Encoded Parms
             */
            Log.p(TAG,"URL="+ urlStr);
            String q=httpHeaders.get("Authorization");

            URL url = new URL(urlStr);
            con = (HttpURLConnection) url.openConnection(); 

            con.setRequestProperty("Authorization",q);
            con.setRequestProperty("GData-Version","3.0");

嗨,我得到java.lang.IllegalStateException:调用setRequestProperty方法后,无法设置连接后的方法错误,但是当我在连接之前调用此方法时,我得到NullPointerException,因为con为null.我该怎么做才能解决这个问题?

解决方法

请从Google: http://developer.android.com/reference/java/net/HttpURLConnection.html查看此网址

在设置标题之前可以使用openConnection()方法.以下是文档中的步骤:

>通过调用URL.openConnection()并将结果转换为HttpURLConnection来获取新的HttpURLConnection.
>准备请求.请求的主要属性是其URI.请求标头还可以包括诸如凭证,首选内容类型和会话cookie之类的元数据.
>(可选)上传请求正文.如果实例包含请求正文,则必须使用setDoOutput(true)进行配置.通过写入getOutputStream()返回的流来传输数据.
>阅读回复.响应标头通常包括元数据,例如响应正文的内容类型和长度,修改日期和会话cookie.可以从getInputStream()返回的流中读取响应主体.如果响应没有正文,则该方法返回空流.
>断开连接.一旦读取了响应主体,就应该通过调用disconnect()来关闭HttpURLConnection.断开连接释放连接所拥有的资源,以便它们可以被关闭或重用.

但是,如果问题仍然存在,您可以尝试调试代码并检查connection.connected私有标志以查看它变为真的位置;调用getContentType()方法后,我遇到了类似的问题.

否则你可以切换到HttpClient API:

HttpClient httpclient = new DefaultHttpClient();

    // Prepare a request object
    HttpGet httpget = new HttpGet(url); 

    // Execute the request
    HttpResponse response;
    try {
        response = httpclient.execute(httpget);
....

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读