HttpURLConnection如何添加请求头?

「已注销」 2010-04-13 08:25:40
"Content-type: application/x-www-form-urlencoded\r\nAuthorization: GoogleLogin auth=DQAAAIgAAACInuQm8vvYlY7CEJD_X1VJyLGqpRNea4rDlyHm1XFwQSnGHLiw2p0CiyaX1vRKwiC0MWXpiQVrrvvuvu_dIcV9CK5ooYjdsriB_J3AaWNz-XhGB66KrmHK7qPo3ekIBo2PDCN8bvsGcWgyvlkw7KaQwb8dM4fsaCAxwA2qpXjbRpXpCG5Qs_m96qgdxqUW7tk\r\nGData-Version: 3.0\r\n"

这个是请求头的形式

用HttpURLConnection实现:
String auth = GoogleLogin auth=DQAAAHMAAACf8yuuW0db2c5Ac3p4eeSCojslxCRv_c5fOeEiFka_9zLNW7TR0oldO4AxZZS5S7FAFTMlLujuOglnnRLlmJGu5VwYrTL6WMUbWzH99MdJy_aEvC2dKlsrhwKtflZc3w8lFsEQxTyQuYTWMHPlAWEi49tPlXr4ObcNUKa2Ifg;
_httpURLConnection.addRequestProperty("Content-type", "application/x-www-form-urlencoded");
_httpURLConnection.addRequestProperty("Authorization", auth); // Authorization
_httpURLConnection.addRequestProperty("GData-Version", "3.0");

但是出现下面的错误提示:
Illegal character(s) in message header value: GoogleLogin auth=DQAAAHMAAACf8yuuW-0db2c5Ac3p4eeSCojslxCRv_c5fOeEiFka_9zLNW7TR0oldO4A-xZZS5S7FAFTMlLujuOglnnRLlmJGu5VwYrTL-6WMUbWzH99MdJy_aEvC2dKlsrhwKtflZc3w8lFsEQxTyQuYTWMHPlAWEi49tPlXr4ObcNUKa2Ifg

我想问一下HttpURLConnection如何添加请求头? 不是Content-type这种定义了的头,而是另外要求的头,比如 Authorization , GData-Version
需要setAllowUserInteraction(true)这个设置这个函数吗?

这个程序是google docs的java程序
...全文
37175 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
月伴寒江 2012-10-08
  • 打赏
  • 举报
回复
找了一下午,就是加不上Authorization头认证
y06185 2011-01-09
  • 打赏
  • 举报
回复
我现在也遇到这个问题了
TIGoss 2010-06-10
  • 打赏
  • 举报
回复
【String response = buffer.toString().trim();】啥意思啊,看了半天不太理解
「已注销」 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gao125210 的回复:]
String response = buffer.toString().trim();
int x = response.indexOf("Auth");
auth = response.substring(x+5);
[/Quote]

String response = buffer.toString().trim();
这才是正解
「已注销」 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bayougeng 的回复:]
嘿嘿。100分挣得这么轻松?
[/Quote]

他没说到点子上
gao125210 2010-04-13
  • 打赏
  • 举报
回复
String response = buffer.toString().trim();
int x = response.indexOf("Auth");
auth = response.substring(x+5);
「已注销」 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sbfivwsll 的回复:]
你先用httpServletRequest.getHeaders查看有哪些头。然后将你需要的设置进去就OK了。
这个头是以键值对的形式来存放的。。。
conn.setRequestProPerty(name,value),两个参数都是字符串。。。。
[/Quote]

能说详细些吗?
如何查看?
bayougeng 2010-04-13
  • 打赏
  • 举报
回复
嘿嘿。100分挣得这么轻松?
铑枪--突廆孒 2010-04-13
  • 打赏
  • 举报
回复
你先用httpServletRequest.getHeaders查看有哪些头。然后将你需要的设置进去就OK了。
这个头是以键值对的形式来存放的。。。
conn.setRequestProPerty(name,value),两个参数都是字符串。。。。
「已注销」 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 koko2541 的回复:]
conn.setRequestProperty().
[/Quote]

还是这个
Illegal character(s) in message header value: GoogleLogin auth=DQAAAHQAAAC0d9_6xSqG6gVAGwegqPtRrDvl3pEMaO8TSYdyw0RhO1CG_fB4QA_qkqjpqDzZ2tURuvtU3eJ62NUjFB88mxFM-4u73i2kbr4EvHlhqKM_D5tg2xajdwGemJWHRaBA3xHfo-QVLRtq2gXqi9HolFvelsAlL13vtPTRGlcb5rzyPA

是不是auth=后面的字符串的编码格式的错误?
koko2541 2010-04-13
  • 打赏
  • 举报
回复
conn.setRequestProperty().

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧