在Java中调用Http请求

在Java中调用Http请求,java,http,Java,Http,我有一个独立的、基于swing的应用程序,它允许用户输入任何URL并返回状态码 我想让用户在浏览器中使用相同的URL时输入任何有效的URL,无论URL是什么(例如带有特殊字符的参数、json字符串等) 我如何实现这一点 我尝试使用URL类,但在某些情况下,我看到一个网站不接受我提供的json字符串,尽管当我将URL复制到浏览器时它被接受。您可能需要查看java.net.URI对象。一些构造函数将正确转义扩展字符 即使如此,您仍需要仔细编码查询字符串,以确保JSON不会溢出到其他参数中(如果有&

我有一个独立的、基于swing的应用程序,它允许用户输入任何URL并返回状态码

我想让用户在浏览器中使用相同的URL时输入任何有效的URL,无论URL是什么(例如带有特殊字符的参数、json字符串等)

我如何实现这一点


我尝试使用URL类,但在某些情况下,我看到一个网站不接受我提供的json字符串,尽管当我将URL复制到浏览器时它被接受。

您可能需要查看java.net.URI对象。一些构造函数将正确转义扩展字符


即使如此,您仍需要仔细编码查询字符串,以确保JSON不会溢出到其他参数中(如果有&个字符等)。

最后,这对我来说很有用:

String urlStr = "http://abc.dev.domain.com/0007AC/ads/800x480 15sec h.264.mp4";
URL url = new URL(urlStr);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
url = uri.toURL();

您是否检查了输入问题标题后弹出的列表?它与您在右侧的“相关”部分中看到的列表相同。好的,下面是一个示例:{“ID”:“123456”,“data”:{“st”:“1.1”,“application”:“google”,“action”:“query”}