这是一个简单的问题,我现在卡住了几个小时,网址没有被完全删除,它被分割如下:
这就是我在代码中使用的内容:
Dictionary<string, object>
我也试过编码和解码String但这不起作用。我希望整件事都在网址内。
String Url1 = Myservice.S_DELETE_LIBRARY_BOOK+"["+bookData.get(position).getBookId()+"]"+"&libraryId="+LibId+"&userId="+Uid;
//did encoding and decoding for testing
try {
Url1= URLEncoder.encode(Url1,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try {
Url1 = URLDecoder.decode(Url1, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.d("LibraryAdapterUrl",""+Url1);
该部分不考虑作为网址,
我甚至粘贴了所有网址而不是[2]&libraryId=1&userId=4
,但它仍然会被分割为[2]
整个网址在浏览器中正常运行 我做错了什么?
答案 0 :(得分:2)
除此之外,为什么不使用以下方法:
String test = "http://<ipaddress>/"+URLEncoder.encode("yourArrayValue", "UTF-8") + "&libraryId=" + LibId + "&userId=" + Uid;
或者
public class HttpClientTest {
public static void main(String[] args) throws URISyntaxException {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("query1", "query1Value"));
qparams.add(new BasicNameValuePair("query2", "query2Value"));
qparams.add(new BasicNameValuePair("query3", "query3Value"));
URI uri = URIUtils.createURI("http", "www.google.com", -1, "/search",
URLEncodedUtils.format(qparams, "UTF-8"), null);
HttpGet httpget = new HttpGet(uri);
System.out.println(httpget.getURI());
//http://www.google.com/search?query1=query1Value&query2=query2Value&query3=query3Value
}
}
答案 1 :(得分:2)
仅对问号
后的查询字符串进行编码String url = Myservice.S_DELETE_LIBRARY_BOOK + "?xxx="
+ URLEncoder.encode("[" + bookData.get(position).getBookId() + "]", "UTF-8")
+ "&libraryId=" + LibId + "&userId=" + Uid;
如果[
需要成为网站网址的一部分,那么你就是运气不好,这是非法的。
答案 2 :(得分:1)
你可以解决这个问题。
假设你传递了url值,如下所示。 (URL中有大括号)
MyLandingURL = URL&GT; http://www.dumyurl.co.uk/[2]stackoverflow
然后下面的代码将拆分并收集在&gt;之后的数组中的url。符号。代码标识&gt;(大于符号)之后的完整URL。因此,大括号不会妨碍您的代码。
所以你最终收集了字符串 的 http://www.dumyurl.co.uk/[2]stackoverflow 强>
public String readURLor(String URLidentity) throws Exception {
String locator = properties.getProperty(URLidentity);
// Split the value which contains locator type and locator value
String URLType = locator.split(">")[0];
String URLvalue = locator.split(">")[1];
if (URLType.toLowerCase().equals("url"))
return URLvalue;
else
throw new Exception("URL Type '" + URLType + "'is not defined in OR file!!");