【问题标题】:android httpget string url exception java.lang.IllegalArgumentException: Illegal character in path at index 40android httpget 字符串 url 异常 java.lang.IllegalArgumentException:索引 40 处路径中的非法字符
【发布时间】:2014-08-27 12:28:07
【问题描述】:

url 页面内容读取有问题 当我调用这个网址时:

http://holiday-tricot.com/HOL_And/insert​Comment.php?id=13&comment=mycomment&name=myname

还有我的代码:

My Code

当我调用此页面时,它会显示 0 或 1 来接受评论

还有错误:

08-27 16:40:06.471:E/LogError(16625):异常: java.lang.IllegalArgumentException:索引路径中的非法字符 40: http://holiday-tricot.com/HOL_And/insert​Comment.php?id=13&comment=mycomment&name=myname 08-27 16:40:06.471: W/System.err(16625): java.lang.IllegalArgumentException:索引路径中的非法字符 40: http://holiday-tricot.com/HOL_And/insert​Comment.php?id=13&comment=mycomment&name=myname 08-27 16:40:06.478: W/System.err(16625): 在 java.net.URI.create(URI.java:727)

08-27 16:40:06.478: W/System.err(16625): 在 org.apache.http.client.methods.HttpGet.(HttpGet.java:75)

08-27 16:40:06.486: W/System.err(16625): 在 webservice.Webservice_InsertComments.connectWS(Webservice_InsertComments.java:138)

08-27 16:40:06.486: W/System.err(16625): 在 webservice.Webservice_InsertComments.doInBackground(Webservice_InsertComments.java:77)

08-27 16:40:06.486: W/System.err(16625): 在 webservice.Webservice_InsertComments.doInBackground(Webservice_InsertComments.java:1)

08-27 16:40:06.494: W/System.err(16625): 在 android.os.AsyncTask$2.call(AsyncTask.java:264)

08-27 16:40:06.494: W/System.err(16625): 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)

08-27 16:40:06.494: W/System.err(16625): 在 java.util.concurrent.FutureTask.run(FutureTask.java:137)

08-27 16:40:06.494: W/System.err(16625): 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)

08-27 16:40:06.494: W/System.err(16625): 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)

08-27 16:40:06.502: W/System.err(16625): 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)

08-27 16:40:06.502: W/System.err(16625): 在 java.lang.Thread.run(Thread.java:856)

08-27 16:40:06.502:E/LogError(16625):异常: java.lang.IllegalArgumentException:索引路径中的非法字符 40: http://holiday-tricot.com/HOL_And/insert​Comment.php?id=13&comment=mycomment&name=myname

所以

Webservice_InsertComments.java:138

是:我的代码中的第 31 行

我怎么解决不了?

谢谢。

删除了零宽度空间 所以它向我显示了其他错误:

08-27 17:23:24.307: I/LogInfo(19976): 替换后的 url >> http://holiday-tricot.com/HOL_And/insertComment.php?id=13&comment=hhhhhh&name=hhhhhh 08-27 17:23:25.822:E/LogError(19976):异常: org.apache.http.client.ClientProtocolException 08-27 17:23:25.822: W/System.err(19976): org.apache.http.client.ClientProtocolException 08-27 17:23:25.830: W/System.err(19976): 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557) 08-27 17:23:25.830: W/System.err(19976): 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 08-27 17:23:25.830: W/System.err(19976): 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 08-27 17:23:25.838: W/System.err(19976): 在 webservice.Webservice_InsertComments.connectWS(Webservice_InsertComments.java:137) 08-27 17:23:25.838: W/System.err(19976): 在 webservice.Webservice_InsertComments.doInBackground(Webservice_InsertComments.java:74) 08-27 17:23:25.838: W/System.err(19976): 在 webservice.Webservice_InsertComments.doInBackground(Webservice_InsertComments.java:1) 08-27 17:23:25.846: W/System.err(19976): 在 android.os.AsyncTask$2.call(AsyncTask.java:264) 08-27 17:23:25.846: W / System.err(19976):在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 08-27 17:23:25.846: W/System.err(19976): 在 java.util.concurrent.FutureTask.run(FutureTask.java:137) 08-27 17:23:25.853:W/System.err(19976):在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208) 08-27 17:23:25.853:W/System.err(19976):在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 08-27 17:23:25.861: W/System.err(19976): 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 08-27 17:23:25.861: W/System.err(19976): 在 java.lang.Thread.run(Thread.java:856) 08-27 17:23:25.869: W/System.err(19976):由以下原因引起: org.apache.http.client.CircularRedirectException:循环重定向到 'http://holiday-tricot.com/index.php?option=com_content&view=article&id=33' 08-27 17:23:25.877: W/System.err(19976): 在 org.apache.http.impl.client.DefaultRedirectHandler.getLocationURI(DefaultRedirectHandler.java:173) 08-27 17:23:25.877: W/System.err(19976): 在 org.apache.http.impl.client.DefaultRequestDirector.handleResponse(DefaultRequestDirector.java:923) 08-27 17:23:25.877: W/System.err(19976): 在 org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:475) 08-27 17:23:25.877: W/System.err(19976): 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 08-27 17:23:25.885: W/System.err(19976): ... 12 更多 08-27 17:23:25.885:E/LogError(19976):异常: org.apache.http.client.ClientProtocolException

【问题讨论】:

    标签: android http-get illegalargumentexception


    【解决方案1】:

    在您的网址insertComment.php 中的C 之前有一个zero-width space character。删除它。

    【讨论】:

    • 怎么做?替换为 ASCII 字符之一?
    • 在键盘上使用退格/删除键。
    猜你喜欢
    • 1970-01-01
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多