Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的Url格式_Android - Fatal编程技术网

android中的Url格式

android中的Url格式,android,Android,我的应用程序应该发送https GET请求 每次我从它那里得到一个例外。如果我取消注释url=”http://www.example.com“它工作得很好。否则,它将抛出异常“索引3的scheme中的非法字符” 如何修复它 public class TestHttpManager { private final static String mask= "httрs://%s/action/?key=%s&param1=%s&param2=%s&param3=

我的应用程序应该发送https GET请求

每次我从它那里得到一个例外。如果我取消注释
url=”http://www.example.com“
它工作得很好。否则,它将抛出异常“
索引3的scheme中的非法字符”

如何修复它

   public class TestHttpManager {

   private final static String mask= "httрs://%s/action/?key=%s&param1=%s&param2=%s&param3=%s";

   public static void Send() throws IOException, URISyntaxException {
           if (....)
              url = String.format(UrlMask, "anyHostName.com", "keyTest", "param1", "param2", "param3");

             //url = "http://www.example.com";
             HttpClient client = new DefaultHttpClient();
             HttpGet request = new HttpGet();
             request.setURI(new URI(url));
             client.execute(request);
        }

     }

更新:我有一个错误
Tagret主机不能为空,也不能在参数中设置。

如果您这样使用
url=”http://www.example.com“
它可以正常工作,但如果要添加子路径,则必须执行以下操作
Uri.encode(edittext.getText())
并将其添加到您的url,如下所示http://www.example.com“+Uri.encode(edittext.getText())
。不要试图手动操作


希望这能帮助您……

如果您这样使用
url=”http://www.example.com
它可以正常工作,但如果您想添加子路径,则必须按照以下方式操作
Uri.encode(edittext.getText())
并将其添加到url中http://www.example.com“+Uri.encode(edittext.getText())
。不要试图手动操作


希望这对您有所帮助…

URL格式不正确。没有问号,也没有对实际页面的引用。它看起来像:


“httös://%s/action.php?key=%s¶m1=%s¶m2=%s¶m3=%s”

URL格式不正确。没有问号,也没有对实际页面的引用。它看起来像:


“httös://%s/action.php?key=%s¶m1=%s¶m2=%s¶m3=%s”

这可能也适用于您:

String url = "http://www.example.com";
request.setURI(new URI(URLEncoder.encode(url, "UTF-8")));

这可能也适用于您:

String url = "http://www.example.com";
request.setURI(new URI(URLEncoder.encode(url, "UTF-8")));

只是一个猜测-但是你能试着用HTTP而不是HTTPS连接到你的web服务吗?我不确定
DefaultHttpClient
是否能够在无需额外设置的情况下执行HTTPS。

只是一个猜测-但是您能否尝试以HTTP而不是HTTPS连接到web服务?我不确定
DefaultHttpClient
是否能够在无需额外设置的情况下执行HTTPS。

您已经执行了
url=”http://www.example.com“+串参数

现在,使用此函数很好地格式化上述
url

url = new String(url.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"));
然后使用上面的答案。

您已经完成了
url=”http://www.example.com“+串参数

String host = "https://" + serverAddress + "/";
String encodedUrl = host + URLEncoder.encode(url, "utf-8");
现在,使用此函数很好地格式化上述
url

url = new String(url.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"));
然后使用上面的答案

String host = "https://" + serverAddress + "/";
String encodedUrl = host + URLEncoder.encode(url, "utf-8");
它应该只编码参数,而不是主机


它应该只编码参数,而不编码主机。

是否要将数据发布到服务器?使用http post?或者您想解析在点击该url后得到的xml,您可以记录
url=String.format(UrlMask,“anyHostName.com”,“keyTest”,“param1”,“param2”,“param3”)的结果吗?这将是了解非法字符可能是什么的可靠方法。httös://serverName.com/action/key=myKey¶m1=param1¶m2=param2¶m3=param3try使用url=“”;是否要将数据发布到服务器?使用http post?或者您想解析在点击该url后得到的xml,您可以记录
url=String.format(UrlMask,“anyHostName.com”,“keyTest”,“param1”,“param2”,“param3”)的结果吗?这将是了解非法字符可能是什么的可靠方法。httös://serverName.com/action/key=myKey¶m1=param1¶m2=param2¶m3=param3try使用url=“”;不需要引用实际页面。我添加了问号,但没有效果。不需要引用实际页面。我加了个问号,但没有效果。哦。。等等在什么时候抛出异常?是否位于新的URI(url)
?如果是那样的话,你可以忽略我上面的答案。。等等在什么时候抛出异常?是否位于新的URI(url)
?在这种情况下,你可以忽略我上面的答案。如何使用它?我有url掩码
mask=“httös://%s/action/?key=%s¶m1=%s¶m2=%s¶m3=%s”。如何使用它?我有url掩码
mask=“httös://%s/action/?key=%s¶m1=%s¶m2=%s¶m3=%s”