【问题标题】:Java HTTP Get RequestJava HTTP 获取请求
【发布时间】:2011-03-11 00:43:54
【问题描述】:

我需要向 Java Web 服务发出一个 HTTP GET 请求: 我提出这个要求:

http://127.0.0.1:8080/MyService/services/service?method=myMethod&a=&b=test&startDate=2011-03-10 10:00&endDate=2011-03-10 19:00

当我调试我的应用程序时,参数会随值切换。我已经尝试对 startDate 和 endDate 参数进行编码,但结果是一样的。

我做错了什么?

【问题讨论】:

  • 你能展示你用来构造 URL 的代码以及你用来解析它的代码吗?

标签: java service get request


【解决方案1】:

您应该对您的网址进行编码,使其不包含空格。这可能是你的问题。见http://download.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.html

【讨论】:

    【解决方案2】:

    正如@Mirkules 所说,您应该对参数值中的空格和冒号进行编码...... 即使您认为这没有任何区别

    除此之外,也许您的 servlet 代码期望 Request.getParameters() 以参数出现在 URL 中的顺序传递参数。不是这种情况。如果参数的顺序很重要,您需要自己解析查询字符串。 (或者考虑修复您的 Web API,以便查询参数顺序无关紧要。)

    【讨论】:

      猜你喜欢
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 2017-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      相关资源
      最近更新 更多