相关疑难解决方法(0)

检查字符串是否为有效URL的最佳正则表达式是什么?

如何检查给定字符串是否为有效的URL地址?

我对正则表达式的了解是基本的,不允许我从我在网上看到的数百个正则表达式中进行选择.

regex language-agnostic url

751
推荐指数
24
解决办法
38万
查看次数

如何将查询参数附加到现有URL?

我想将键值对作为查询参数附加到现有URL.虽然我可以通过检查URL是否有查询部分或片段部分来执行此操作,并通过跳过一堆if子句来执行追加,但我想知道如果通过Apache执行此操作是否有干净的方法Commons库或类似的东西.

http://example.com 将会 http://example.com?name=John

http://example.com#fragment 将会 http://example.com?name=John#fragment

http://example.com?email=john.doe@email.com 将会 http://example.com?email=john.doe@email.com&name=John

http://example.com?email=john.doe@email.com#fragment 将会 http://example.com?email=john.doe@email.com&name=John#fragment

我之前已多次运行此场景,并且我希望在不破坏URL的情况下执行此操作.

java url

50
推荐指数
5
解决办法
8万
查看次数

如何在java中构建url?

我正在使用StringBuilder构建一个String

StringBuilder builder = new StringBuilder();
builder.append("my parameters");
builder.append("other parameters");
Run Code Online (Sandbox Code Playgroud)

然后我建立一个网址

Url url = new Url(builder.toString());
Run Code Online (Sandbox Code Playgroud)

然后我尝试连接

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
Run Code Online (Sandbox Code Playgroud)

但是从我得到的结果来看,网址似乎并不正确.这就像某些参数被错误传递.这就是为什么我认为问题出在StringBuilder的一部分.

问题在于我试图传递的双参数.

double longitude = 23.433114;
String lng = String.ValueOf(longitude);
Run Code Online (Sandbox Code Playgroud)

然后我把它放在网址中.但如果我把它作为字符串给出,结果是正确的.

String lng = "23.433114"
Run Code Online (Sandbox Code Playgroud)

UrlEncoding是否必要?我将尝试下面的建议.

java string url http

35
推荐指数
1
解决办法
6万
查看次数

如何通过OkHttp将查询参数添加到HTTP GET请求?

我使用的是最新的okhttp版本:okhttp-2.3.0.jar

如何在java中的okhttp中向GET请求添加查询参数?

我发现了一个关于android 的相关问题,但这里没有答案!

java http-get query-parameters okhttp

31
推荐指数
5
解决办法
5万
查看次数

有没有正确的方法来构建URL?

在我使用的大部分代码中都有可怕的东西,比如:

String url = "../Somewhere/SomeServlet?method=AMethod&id="+object.getSomething()+ "&aParam="+object.getSomethingElse());
Run Code Online (Sandbox Code Playgroud)

或者 - 更糟糕的是:

String url = "Somewhere/Here/Something.jsp?path="+aFile.toString().replace("\\","/")+ "&aParam="+object.getSomethingElse());
Run Code Online (Sandbox Code Playgroud)

有没有正确的方法:

  1. 创建一个新URL(或者它是一个URI).
  2. 添加正确的转义参数.
  3. 在这些参数中添加格式正确的文件路径.
  4. 将其解析为String.

从本质上讲 - 构建字符串要比正确地完成字符串要容易得多.有没有办法正确地做到这一点就像建立字符串一样简单?

添加

为了清楚起见 - 经过一番思考 - 我想我正在寻找类似的东西:

String s = new MyThing()
    .setPlace("Somewhere/Something.jsp")
    .addParameter(aName,aValue)
    .addParameter(aName,aFile)
    .toString();
Run Code Online (Sandbox Code Playgroud)

因此它将处理转义的所有不愉快并添加"?"/"&"并将"\"更改为"/"而不是使用"\"作为文件等.

如果我必须自己编写一个(即如果Apache不是一个选项),那么有真正的Java技术可以正确地转义各个部分.我的意思是在参数中将""转换为"".而逃避""在其他地方"%20".

java url uri

30
推荐指数
3
解决办法
5万
查看次数

是否有用于处理构建URL的Java包?

我正在寻找的是Java中的一些代码,它将获取一个Map对象并将其转换为一个查询字符串,我可以附加到我返回的URL.我确定有一个库可以做到这一点以及更多,但我无法通过快速谷歌搜索找到它.有人知道会这样做吗?

java url

20
推荐指数
2
解决办法
2万
查看次数

Java:只是主机,方案的字符串表示,可能是来自servlet请求的端口

我使用不同的服务器和配置.获取方案的最佳java代码方法是什么:// host:[port is not port 80].

这是我使用的一些代码,但不知道这是否是最好的方法.(这是伪代码)

HttpServletRequest ==请求

String serverName = request.getServerName().toLowerCase();
String scheme = request.getScheme();
int port = request.getServerPort();

String val = scheme + "://" + serverName + ":" port;
Run Code Online (Sandbox Code Playgroud)

这样val返回:

http(s)://server.com/

要么

http(s)://server.com:7770

基本上,除了查询字符串和'上下文'之外,我需要一切.

我也考虑使用URL:

String absURL = request.getRequestURL();
URL url = new URL(absURL);

url.get????
Run Code Online (Sandbox Code Playgroud)

java servlets request

9
推荐指数
1
解决办法
2万
查看次数

是否有一个Java方法将参数集合编码为URL查询组件?

是否有一个广泛使用的Java库,它执行类似dojo.objectToQuery()的操作?例如(假设使用HttpCore的HttpParams对象,但任何键值映射都会这样做):

HttpParams params = new BasicHttpParams()
    .setParameter("foo", "bar")
    .setParameter("thud", "grunt");
UnknownLibrary.toQueryString(params);
Run Code Online (Sandbox Code Playgroud)

应该产生"foo = bar&thud = grunt".

我知道写起来并不难,但似乎应该已经写好了.我找不到它.

java url encoding http

7
推荐指数
3
解决办法
5083
查看次数