1
aliuwr 2015-04-08 16:54:04 +08:00 1
返回的内容是压缩过的,去掉 15 行就好了。
|
2
aaaa007cn 2015-04-08 16:55:05 +08:00 1
conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
看看服务器返回的 http header 中是否指定了 Content-Encoding 头 |
3
fising 2015-04-08 16:56:07 +08:00 1
两个办法:
1. 请求头去掉 gzip 2. 返回的内容 gzip_decode |
6
zhangchioulin 2015-04-08 17:17:42 +08:00
jsp吗?我记得我们是,添加一个类文件,然后改了配置
|
7
zhangchioulin 2015-04-08 17:19:47 +08:00
|
8
OBoOrange OP @zhangchioulin 嗯,都弄好了,我的问题是“Accept-Encoding”造成的
补充一个,就是如果返回值中如果有中文的话,上面代码的26行改为:BufferedReader buffer = new BufferedReader(new InputStreamReader(in, "UTF-8")); 使用UTF-8编码就行了 |
9
OBoOrange OP @aaaa007cn 你好,麻烦了,我还想请教一个问题~~
1.post账号和密码登陆一个网址( www.zuimadai.com )。通过服务器返回的Set-Cookie获得cookie的值。 2.打开新网页,在构造的请求中加上这个cookie的name-value对,来再这个网站发送心情 服务器返回405,是不是方法错了? 以下是抓包和代码 通过抓包,第二步中我打开的网页是:www.zuidaima.com/mood/create.htm 通过上面抓包信息,我构造的请求如下: https://gist.github.com/anonymous/1ac552bb22b542de104d |
10
OBoOrange OP @aaaa007cn 抱歉上面的代码少了信息输出的4行代码。
//要发送的内容(就像抓包那样看到的) String BOUNDARY = "------WebKitFormBoundaryfV9cW5irwPumXS5m\r\n"; String newSend = BOUNDARY + "Content-Disposition: form-data; name=\"content\"\r\n\r\n"; newSend += "my test" + BOUNDARY; newSend += "Content-Disposition: form-data; name=\"file\"; filename=\"\"\r\n"; newSend += "Content-Type: application/octet-stream"; newSend += "------WebKitFormBoundaryfV9cW5irwPumXS5m--\r\n"; //上面那部分接下面的这四行代码 DataOutputStream newOut = new DataOutputStream(newConn.getOutputStream()); newOut.write(send.getBytes()); newOut.flush(); newOut.close(); 十分感谢 |