1.9中HttpKit post方法中的data参数是什么?
@JFinal 你好,想跟你请教个问题:
/** * Send POST request */ public static String post(String url, Map<String, String> queryParas, String data, Map<String, String> headers) { HttpURLConnection conn = null; try { conn = getHttpConnection(buildUrlWithQueryString(url, queryParas), POST, headers); conn.connect(); OutputStream out = conn.getOutputStream(); out.write(data.getBytes(CHARSET)); out.flush(); out.close(); return readResponseString(conn); } catch (Exception e) { throw new RuntimeException(e); } finally { if (conn != null) { conn.disconnect(); } } }
第三个参数data是什么意思呢?谁能给个post例子。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
使用方法HttpKit.post(url,jsonStr)。
controller里接收:
String readData = HttpKit.readData(getRequest());
这样读取你的搞进来的字符串。然后对此进行解析。
注意事项::::
你不能在JFinalafterstart里使用ActionReporter.setReportAfterInvocation(false);
你若这样设置,在调用controller之前它就会解析你的request!!!。这样你在controller就读不了了!!!tomcat的request里的流只能读一遍。就是遇到了这种坑,才会有感而发。我说咋好好的功能,咋说不行就不行。原因就是想先输出reporter,再输出执行的sql。结果......
[2.2] data 的字符串格式:
栗子:
源码一看就明白了,,,,
@Jfinal
HttpKit.post("http://192.168.1.100/fetch", params) 这样吗?
这样不太合理。 现在我就想调用POST方法,但是又不需要data。有些API调用的时候是识别HTTP方法的。不能用GET
引用来自“Snowfox_66”的评论
@Jfinal
不可以用POST方式,只能用GET吗?
@Jfinal
不可以用POST方式,只能用GET吗?
波总的回复"相关代码改成"后面应该是漏了代码片段吧。 可以试一下,将params改写为 "encode(key1)=encode(value1)&encode(key2)=encode(value2)...."这种格式赋值给HttpKit.post的data形参吧,对方应该正常接收了
例如:(头部信息瞎编的)
POST url+queryParas HTTP/1.1
Accept-Encoding:
gzip, deflate
Accept-Language:
zh-CN,zh;q=0.8,en;q=0.6
Cache-Control:
no-cache
Connection:
keep-alive
Content-Length:
104
Content-Type:
application/x-www-form-urlencoded; charset=UTF-8
data