在执行HTTP Post时,我们如何传递参数?
我正在开发一个应用程序,我们必须使用HTTP POST将特定的web api参数传递给web应用程序。 如: apimethod名称 参数1值 参数2值 那么我是使用字符串还是URLEncodedPostData来发送数据呢? 如果你能帮我写一个代码就好了。 我正在使用类似的东西,但它不会将数据发布到服务器。 虽然响应代码是ok/200,但在读取httpresponse输入流时,我也会得到一个经过解析的html响应。但是代码没有发布任何内容。因此无法获得预期的响应在执行HTTP Post时,我们如何传递参数?,http,blackberry,post,Http,Blackberry,Post,我正在开发一个应用程序,我们必须使用HTTP POST将特定的web api参数传递给web应用程序。 如: apimethod名称 参数1值 参数2值 那么我是使用字符串还是URLEncodedPostData来发送数据呢? 如果你能帮我写一个代码就好了。 我正在使用类似的东西,但它不会将数据发布到服务器。 虽然响应代码是ok/200,但在读取httpresponse输入流时,我也会得到一个经过解析的html响应。但是代码没有发布任何内容。因此无法获得预期的响应 _p
_postData.append("method", "session.getToken");
_postData.append( "developerKey", "value");
_postData.append( "clientID", "value");
_httpConnection = (HttpConnection) Connector.open(URL, Connector.READ_WRITE);
String encodedData = _postData.toString();
_httpConnection.setRequestMethod(HttpConnection.POST);
_httpConnection.setRequestProperty("User-Agent", "BlackBerry/3.2.1");
_httpConnection.setRequestProperty("Content-Language", "en-US");
_httpConnection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
_httpConnection.setRequestProperty("Content-Length",(new Integer(encodedData.length())).toString());
os = _httpConnection.openOutputStream();
os.write(requeststring.getBytes());`
发布的参数通常在响应体中发送,这意味着URL编码它们是不合适的。引用HTTP/1.1协议:
Note: The "multipart/form-data" type has been specifically defined
for carrying form data suitable for processing via the POST
request method, as described in RFC 1867 [15].
发布的参数通常在响应体中发送,这意味着URL编码它们是不合适的。引用HTTP/1.1协议:
Note: The "multipart/form-data" type has been specifically defined
for carrying form data suitable for processing via the POST
request method, as described in RFC 1867 [15].
post方法允许您使用非常任意的消息体-因此它是服务器想要的任何格式。post方法允许您使用非常任意的消息体-因此它是服务器想要的任何格式。您上面发布的代码看起来是正确的-尽管您还想做一些事情(可能您已经这样做了,但没有将其包含在代码中):
getResponseCode()
,以便它实际发送请求您上面发布的代码看起来是正确的-尽管您还想做一些事情(可能您已经做了,但没有将其包含在代码中):
getResponseCode()
,以便它实际发送请求你能解释第二点吗?代码行也会很好。我调用getResponseCode()只是想知道连接是否正常/200。但它实际上是如何发送请求的?如果你得到的是200响应代码,它就是在发送请求。据我所知,这是对getResponseCode()的调用这实际上触发了要发送的请求-基本上你告诉API你已经完成了请求的设置,你想发送请求并得到响应。应用程序正在发送post数据。只是api在处理数据时出现了一些问题。无论如何,谢谢。您能解释第二点吗?如果您能提供代码行,我们将不胜感激。我确实调用了getResponseCode()就像只是想知道连接是否正常/200。但是它实际上是如何发送请求的?如果你得到的是200响应代码,它就是在发送请求。从我所能知道的,这是对getResponseCode()的调用这实际上触发了发送请求-基本上你告诉API你已经完成了请求设置,你想发送请求并得到响应。好的,我使用var_dump(_post)检查了它。应用程序正在发送post数据。只是API处理数据时出现了一些问题。无论如何,谢谢。