- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用以下代码执行以下链接:
class httpget{
HttpGet httpGet=null;
public void linkexecute(){
String url="http://<server>/<path>/action=send&msg=new message";
httpGet= new HttpGet(url); // line 1
....
}
at line 1 it is giving error "Illegal arguement exception"
java.lang.IllegalArgumentException: Illegal character in query at index 77: http://<server>/<path>/sms.json?action=send&msg=new message
at java.net.URI.create(URI.java:970)
at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:75)
at com.sms.login.LoginService.sendSms(LoginService.java:143)
鉴于下面给定的 URL 没有错误,它在 "msg="的单词中没有间隙
String url="http://<server>/<path>/action=send&msg=newmessage";
如何解决 URL 中的单词间隙问题?
最佳答案
在这里,我为您提供了一个函数,可以从 url 中删除所有无效字符。请在此函数中传递您的网址,您将获得一个带有编码字符串的新网址。
public static String convertURL(String str) {
String url = null;
try{
url = new String(str.trim().replace(" ", "%20").replace("&", "%26")
.replace(",", "%2c").replace("(", "%28").replace(")", "%29")
.replace("!", "%21").replace("=", "%3D").replace("<", "%3C")
.replace(">", "%3E").replace("#", "%23").replace("$", "%24")
.replace("'", "%27").replace("*", "%2A").replace("-", "%2D")
.replace(".", "%2E").replace("/", "%2F").replace(":", "%3A")
.replace(";", "%3B").replace("?", "%3F").replace("@", "%40")
.replace("[", "%5B").replace("\\", "%5C").replace("]", "%5D")
.replace("_", "%5F").replace("`", "%60").replace("{", "%7B")
.replace("|", "%7C").replace("}", "%7D"));
}catch(Exception e){
e.printStackTrace();
}
return url;
}
关于android httpGet问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5295347/
公共(public)类 ServiceHandler { static String response = null; public final static int GET = 1; public
为什么在WebApi框架中使用HttpGet而不是HttpPost? 我很清楚 Post 或 Get 类型之间的区别,一个是通过 url,另一个不是(作为基本理解) 但我也知道主要区别(可以在服务器上
我正在尝试做一件非常简单的事情,几天前它还在工作。 CloseableHttpClient client = HttpClientBuilder.create().build();
我正在尝试从 html 编写此脚本,但无法得到结果,有什么问题吗? function httpGet() { var httpClient = util.newHttpClient(); v
我正在尝试从以下 URL 获取文本响应: http://translate.google.cn/translate_a/single?client=t&sl=zh-CN&tl=en&dt=t&tk=2
我的 MainActivity.java 文件中有这个: public static void getLatestVersion() { try { Strin
我正在尝试使用 GET 将参数发送到脚本,但我收到此错误: java.lang.IllegalStateException: Target host must not be null, or set
我正在使用 Slim 框架通过 GET 方法在 Android 中执行 REST API。我对检索表的所有值没有任何问题,例如 cars。 当我尝试通过 id 访问 Car 的 name 时,问题就来
我正在努力通过查询字符串获取数据。我已经完成了 httppost,但我还没有尝试使用 httpget。但我不能。 List nameValuePairs = new ArrayList();
因此,我使用的是另一篇旧帖子中的以下代码,但其中一部分有问题,行:HttpGet request = new HttpGet(url); 不起作用。在 url 点我放了类似 www.stackover
是否可以在 HttpGet 中使用管道字符? 我有一个用竖线分隔的经纬度列表,例如53.42290885462988,-1.4404749870300293|53.39965626194152,-1.
我想从我的 Android 应用程序中执行 httpGet,但我没有得到任何响应,当我从浏览器中执行相同的 httpGet 时它起作用了。我还使用 chrome 扩展 Postman 来测试我发送的
我正在使用 RESTFul HttpGet 服务 导入org.apache.http.client.methods.HttpGet; 我创建了一个函数来查询另一台计算机上的服务。该调用工作正常,但是我
Startup.cs,样板: app.UseMvc(routes => { routes.MapRoute( name: "default", template
我希望能够将复杂类型作为我的 HttpGet 方法的参数进行处理。 当 api 方法不接受任何参数时,方法 pickNFirstElements 起作用,但当我尝试传递对象时不起作用。 我有一个想法,
让我先概括一下情况: 我有一个基本的 Controller ,如下所示: public class SearchRequestController : ApiController { publ
我正在用 Ruby 编写一些代码...但我无法弄清楚基本身份验证如何与 Crystal-lang 一起工作。 在 ruby 中,我必须始终使用 request.basic_auth 但这在 Cry
我正在开发 Uber API,并尝试使用 here 中的说明获取用户个人资料。 以下curl命令工作正常,可以从uber获取用户信息: curl -H "Authorization: Bearer Y
我正在使用 HttpGet 返回一个文件,并且 HttpGet 不允许参数是 URL,它必须是 URL,但是我面临的问题是我必须*使用 httpclient,并且我需要能够在 URI/URL 中放置特
这个问题已经有答案了: How can I fix 'android.os.NetworkOnMainThreadException'? (65 个回答) 已关闭10 年前。 我正在尝试向 http:
我是一名优秀的程序员,十分优秀!