在 URL 中使用特殊字符,例如 'ß' 或 space
Use special characters like 'ß' or space in URL
我通过地理编码得到一个地址,看起来像这样,例如:"Downing Street, London",我用这个地址字符串和其他参数构建了一个 URL 字符串。
这就是我构建 url 字符串的方式:
String url = "http://www.friendlyride.at/...?...&enterstring="+enterstring+"&enterlng="+enterLng+"&enterlat="+enterLat+"&exitstring="+exitstring+"&exitlng="+exitLng+"&exitlat="+exitLat+"&info="+infoinput;
enterstring = "Downing Street, London"
现在,当我记录 URL(然后用 HTTPDataHandler 在 JSON AsyncTask 中调用)时,URL 是 link(蓝色)直到“ß”、space 或“,”在字符串中。
这是 Android 监视器中的 URL (Log.d):
http://www.friendlyride.at/...?...&enterstring=Downing 伦敦街道&enterlng=-0.1272206&enterlat=51.5032077&exitstring=伦敦修道院路&exitlng=-0.1830032&exitlat=51.5367909&info=info
整个url应该是一个link(这里它在space处中断)。如果我在浏览器中手动输入 Url,它会与 space 和所有内容一起使用。
那么如何将整个字符串用作 url?
如果您需要任何代码,请告诉我,我不确定应该包括什么代码。 :)
您的 url 需要进行编码才能有效。
为此目的并大大提高您的代码质量,我强烈建议您使用 Uri.Builder
构建您的 urls :
Uri.Builder builder = new Uri.Builder();
builder.scheme("http")
.authority("www.friendlyride.at")
.appendQueryParameter("enterstring", enterstring)
.appendQueryParameter("enterlng", Long.toString(enterLng))
.appendQueryParameter("enterlat", Long.toString(enterLat));
//Append all your other parameters
String myUrl = builder.build().toString();
这将构建一个有效的编码 url,例如:http://www.friendlyride.at?enterstring=Downing%20Street%2C%20London&enterlng=-0.1272206&enterlat=51.5032077
注意:我不知道你url中的...?...
部分是什么,我没有把它放在我的答案中。
我通过地理编码得到一个地址,看起来像这样,例如:"Downing Street, London",我用这个地址字符串和其他参数构建了一个 URL 字符串。
这就是我构建 url 字符串的方式:
String url = "http://www.friendlyride.at/...?...&enterstring="+enterstring+"&enterlng="+enterLng+"&enterlat="+enterLat+"&exitstring="+exitstring+"&exitlng="+exitLng+"&exitlat="+exitLat+"&info="+infoinput;
enterstring = "Downing Street, London"
现在,当我记录 URL(然后用 HTTPDataHandler 在 JSON AsyncTask 中调用)时,URL 是 link(蓝色)直到“ß”、space 或“,”在字符串中。
这是 Android 监视器中的 URL (Log.d):
http://www.friendlyride.at/...?...&enterstring=Downing 伦敦街道&enterlng=-0.1272206&enterlat=51.5032077&exitstring=伦敦修道院路&exitlng=-0.1830032&exitlat=51.5367909&info=info
整个url应该是一个link(这里它在space处中断)。如果我在浏览器中手动输入 Url,它会与 space 和所有内容一起使用。 那么如何将整个字符串用作 url?
如果您需要任何代码,请告诉我,我不确定应该包括什么代码。 :)
您的 url 需要进行编码才能有效。
为此目的并大大提高您的代码质量,我强烈建议您使用 Uri.Builder
构建您的 urls :
Uri.Builder builder = new Uri.Builder();
builder.scheme("http")
.authority("www.friendlyride.at")
.appendQueryParameter("enterstring", enterstring)
.appendQueryParameter("enterlng", Long.toString(enterLng))
.appendQueryParameter("enterlat", Long.toString(enterLat));
//Append all your other parameters
String myUrl = builder.build().toString();
这将构建一个有效的编码 url,例如:http://www.friendlyride.at?enterstring=Downing%20Street%2C%20London&enterlng=-0.1272206&enterlat=51.5032077
注意:我不知道你url中的...?...
部分是什么,我没有把它放在我的答案中。