- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个非常奇怪的问题。
我的公司为我们的各种 Assets 使用集中式用户注册网络服务。我们一般通过HttpURLConnection使用请求方法GET向Web服务发送请求,通过qs设置参数。这在过去效果很好。
对于我们最近获取并插入到我们的注册 Web 服务中的另一个属性,HttpURLConnection 在发送时似乎会重复参数。参数的预期值为 paramName=value
,但我们收到的是 paramName=value, value
。以下是我们日志中的情况:
注意:删除特定于我的雇主和我们的系统的信息。
01-26 15:21:54 [TP-Processor17] INFO com].[/] - parameter=userName=nameValue65, nameValue65
01-26 15:21:54 [TP-Processor17] INFO com].[/] - parameter=policyAccepted=true, true
这当然会导致端点验证出错并禁用用户注册。
以下是用于创建连接的代码的表示:
URL url = new URL("http://account-ws.domain.tld/register.action?responseType=json&userName=nameValue65&age=24&country=US&password1=Passw3rt&emailAddress=name@domain.tld&tosAccepted=true&policyAccepted=true");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setRequestMethod("GET");
urlc.setDoOutput(true);
urlc.setAllowUserInteraction(false);
PrintStream ps = new PrintStream(urlc.getOutputStream());
ps.print(restEndPoint);
ps.close();
也许(?)有用的信息:
如果您发现此处内容不足,请索取更多信息。
提前谢谢您! :)
最佳答案
当您使用GET
时方法中,查询字符串被添加到 URL 字符串中。 GET
method 是 HttpURLConnection
的默认 Http 请求方法。您无需显式将请求方法设置为 GET
.
一个GET
方法用于获取请求的URL的内容。您不应该写入 GET
的输出流连接。
如果您想使用POST
方法,可以通过 setRequestMethod("POST")
设置但我不确定你是否需要setDoOutput(true)
以及。然而,setDoOutput(true)
默认情况下,将请求方法设置为 POST
所以你不妨忽略 setRequestMethod("POST")
。如果您想使用 POST
写入输出流, here是我之前关于如何使用 HttpURLConnection
进行操作的答案.
需要注意的是,当你执行 POST
时(或 PUT
),URL 不应包含查询部分。因为你有 GET
的混合物和POST
,这可能是您问题的原因,但我不确定。
一种可能的情况是您必须同时使用 setRequestMethod
和setDoOutput(true)
就是当你想做一个 Http PUT
.
关于 java ; HttpURL连接;查询项重复为 `paramName=value, value` 。预计为 `paramName=value`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4832781/
我遇到了一个非常奇怪的问题。 我的公司为我们的各种 Assets 使用集中式用户注册网络服务。我们一般通过HttpURLConnection使用请求方法GET向Web服务发送请求,通过qs设置参数。这
我喜欢编写一个 java 实用程序方法,该方法返回指定查询字符串中 paramName 的 paramValue Pattern p = Pattern.compile("\\&?(\\w+)\\=
考虑我有一个类如下: class ProductPrice { public string ProductName { get; set; } public decimal Regular
将 ASP.Net Core 3.1 与来自 NuGet 的 NSwag.AspNetCore v13.7.0 结合使用 我有这个 Action 方法 [ApiController] [ApiVers
将 ASP.Net Core 3.1 与来自 NuGet 的 NSwag.AspNetCore v13.7.0 结合使用 我有这个 Action 方法 [ApiController] [ApiVers
为了测试某些东西抛出例如 ArgumentException 我可以这样做: Assert.Throws(() => dog.BarkAt(deafDog)); 如何清楚地检查 ParamName 是
如果您要自定义放置区,我不明白 URL 和 paramName 应该是什么? Dropzone.autoDiscover = false $('#new_picture').dropzone ur
在我的代码中,我有: 但是第二个数据参数名称被忽略,当我检查浏览器中的元素时,它只看到: 最好的解决方法是什么,为特定按钮设置 2 个参数? 最佳答案 任何属性都不应重复。这是不好的做法,
这是我的 JavaScript 代码: expr = "A simple string" $.ajax({ type: "GET", url: "/ajaxrequest/get_dt
如果将无效值传递给属性 setter 并抛出 ArgumentException(或可能是从它派生的类),则应将什么值分配给 paramName参数? value,因为它看起来是实际参数? 传递属性的
正如标题所述,我希望我的 MVC 站点具有如下 URL 模式 /Products/Category/Books/Sku/123456 其中每个其他 url 段都是参数名称及其值的/name/value
我是一名优秀的程序员,十分优秀!