HttpGet request = new HttpGet("https://192.168.1.140:8732/...);
我想知道为什么我只能成功发送自定义标头:UserName 和 AuthToken,如果我执行以下操作:
request.setHeader("User-Agent", "android_client");
request.setHeader("Host", "192.168.1.140:8732");
request.addHeader("UserName", mUserName);
request.addHeader("AuthToken", mAuthorizationToken);
为什么此代码不发送用户名而只发送 AuthToken?当两条底线颠倒过来时。
request.setHeader("User-Agent", "android_client");
request.setHeader("Host", "192.168.1.140:8732");
request.addHeader("AuthToken", mAuthorizationToken);
request.addHeader("UserName", mUserName);
当我没有指定主机时,为什么此代码会失败并显示 400 错误代码,主机名无效
// request.setHeader("User-Agent", "android_client");
// request.setHeader("Host", "192.168.1.140:8732");
request.addHeader("UserName", mUserName);
request.addHeader("AuthToken", mAuthorizationToken);
如果我不需要发送 UserName 和 AuthToken,我实际上不需要设置 Host,并且它可以与注释掉的代码一起正常工作,如下所示
// request.setHeader("User-Agent", "android_client");
// request.setHeader("Host", "192.168.1.140:8732");
虽然我不认为它是相关的,但我想透露一下,我正在使用自签名证书来进行这些来自 android 的 http 调用blog http://blog.antoine.li/2010/10/22/android-trusting-ssl-certificates/。期待着我可怜的http灵魂的神圣启示......