主机名不能为空,包括android中的http

贝诺菲7

我在以下代码中AsyncTask

try 
        {
            Log.d("API", "URL: "+URL.trim());   
            StringBuilder builder = new StringBuilder();
            HttpClient client = new DefaultHttpClient();        
            HttpGet httpGet = new HttpGet(new URI(URL));
            httpGet.setHeader("Accept","application/json");
            httpGet.setHeader("Content-Type","application/json");


            Log.d("API", "URL Host: "+httpGet.getURI().getHost());
            Log.d("API", "URL Path: "+httpGet.getURI().getPath());

            Log.d("API", "URL: "+URL.trim());       

                HttpResponse response = client.execute(httpGet);
                StatusLine statusLine = response.getStatusLine();
                int statusCode = statusLine.getStatusCode();
                if (statusCode == 200) 
                {
                    HttpEntity entity = response.getEntity();
                    InputStream content = entity.getContent();
                    BufferedReader reader = new BufferedReader(new InputStreamReader(content));
                    String line;
                    while ((line = reader.readLine()) != null) 
                    {
                        builder.append(line);
                    }
                    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                    nameValuePairs.add(new BasicNameValuePair("id","2"));       
                    if ( builder.toString().length()>0)
                    {                               
                        Log.v("API", builder.toString());   
                    }
                    else
                    {
                        Log.e("API", "Respuesta vacia");    
                    }
                } 
                else 
                {
                    Log.e("API", "Status code != 200");
                } 

        }
        catch(Exception e)
        {
            e.printStackTrace();
            Log.e("API", "Error >> "+e.getMessage());           
        }

这是我的清单:

  <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.apiestacionamientomedido.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    </application>

这是我的日志:

07-30 13:21:10.717: D/API(807): URL: http://test_sem.mardelplata.gob.ar/ServerRest/Cliente/Login?Usuario=123&Clave=123&format=json
07-30 13:21:11.677: D/API(807): URL Host: null
07-30 13:21:11.727: D/API(807): URL Path: /ServerRest/Cliente/Login
07-30 13:21:11.727: D/API(807): URL: http://test_sem.mardelplata.gob.ar/ServerRest/Cliente/Login?Usuario=123&Clave=123&format=json
07-30 13:21:11.727: W/System.err(807): java.lang.IllegalArgumentException: Host name may not be null
07-30 13:21:11.787: W/System.err(807):  at org.apache.http.HttpHost.<init>(HttpHost.java:83)
07-30 13:21:11.837: W/System.err(807):  at org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:497)
07-30 13:21:11.847: W/System.err(807):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
07-30 13:21:11.847: W/System.err(807):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
07-30 13:21:11.847: W/System.err(807):  at com.example.apiestacionamientomedido.MainActivity.descargarFecha(MainActivity.java:108)
07-30 13:21:11.847: W/System.err(807):  at com.example.apiestacionamientomedido.MainActivity$MiTareaSplash.doInBackground(MainActivity.java:75)
07-30 13:21:11.847: W/System.err(807):  at com.example.apiestacionamientomedido.MainActivity$MiTareaSplash.doInBackground(MainActivity.java:1)
07-30 13:21:11.847: W/System.err(807):  at android.os.AsyncTask$2.call(AsyncTask.java:185)
07-30 13:21:11.847: W/System.err(807):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
07-30 13:21:11.847: W/System.err(807):  at java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-30 13:21:11.847: W/System.err(807):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
07-30 13:21:11.847: W/System.err(807):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
07-30 13:21:11.847: W/System.err(807):  at java.lang.Thread.run(Thread.java:1096)
07-30 13:21:11.887: E/API(807): Error >> Host name may not be null
07-30 13:21:11.957: W/InputManagerService(59): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@45165168

非常感谢!!导致此错误的常见原因是不包含“ http://”,但我正在这样做!

我也尝试过HttpGet httpGet = new HttpGet(URL); 和相同的URL,但带有post和put。

njzk2

不确定原因,但如果您更换

new HttpGet(new URI(URL));

经过

new HttpGet(URL);

您不应该遇到这个问题。

编辑

这不是问题。显然不支持'_',正如您在注释中建议的那样:

https://issues.apache.org/jira/browse/HTTPCLIENT-911

显然,您确实不应该在主机名中添加下划线。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android主机名不能为空

来自分类Dev

ORACLE SQL Developer 必需的属性主机名不能为 null 或为空

来自分类Dev

java.lang.IllegalArgumentException:主机名不能为null

来自分类Dev

java.lang.IllegalArgumentException:主机名不能为null

来自分类Dev

如何在包括 HTTP 的 Javascript 中获取完整的主机名?

来自分类Dev

原因:java.lang.IllegalArgumentException:主机名不能为null

来自分类Dev

sunGrid群集:qsub错误“无法运行作业:主机名不能为空字符串”

来自分类Dev

java.lang.IllegalArgumentException:触发获取请求时,主机名不能为null

来自分类Dev

原因:java.lang.IllegalArgumentException:主机名不能为null

来自分类Dev

在emacs中,“主机名不能与ssh匹配”

来自分类Dev

可以ping IP地址和nslookup主机名,但不能在Windows中临时ping主机名

来自分类Dev

从Android中的URL提取主机名/ IP地址

来自分类Dev

如何在IPython 5提示符中包括您的主机名?

来自分类Dev

如何在IPython 5提示符中包括您的主机名?

来自分类Dev

主机的主机名

来自分类Dev

主机的主机名

来自分类Dev

未验证Android SSL主机名

来自分类Dev

如何从Android设备获取主机名

来自分类Dev

从请求中获取主机名

来自分类Dev

在nginx中更改localhost主机名

来自分类Dev

更改网址中的主机名

来自分类Dev

在bash中获取“漂亮的”主机名

来自分类Dev

WampServer中的主机名错误

来自分类Dev

在本地主机名中插入'

来自分类Dev

从PROMPT中截断主机名部分

来自分类Dev

无法解析WSL中的主机名

来自分类Dev

PHP - 从主机名中检索 IP

来自分类Dev

@AuthorizedFeignClient 中的动态主机名

来自分类Dev

ILLEGALSTATEEXCEPTION:目标主机不能为空

Related 相关文章

热门标签

归档