添加多个自定义http请求标头之谜

2024-02-22

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灵魂的神圣启示......


这是一个侥幸。我无法再重现它了。我一直在使用工作解决方案,并在不同的项目上工作了一段时间。我回来看看有线/上下文日志记录oleg https://stackoverflow.com/users/335638/oleg建议的帮助下如何在 Android 上启用 apache commons HttpClient 的日志记录 https://stackoverflow.com/questions/3246792/how-to-enable-logging-for-apache-commons-httpclient-on-android我无法再重现该问题。日志记录的力量已经吓跑了这个问题。如果问题再次出现并且找到原因,我会更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加多个自定义http请求标头之谜 的相关文章

随机推荐

  • 如何仅在构建时排除打字稿中的特定文件?

    是否可以排除仅用于构建的所有测试文件 但将它们与 nodemon 一起使用以在本地运行测试 当我排除测试文件时tsconfig json在我的例子中 我收到一个打字稿错误 它找不到像 jest 这样的测试库的类型 Cannot find n
  • 自定义类型作为参数传递给函数

    当我定义自定义类型时 基础类型的类型似乎对我是否可以将其按原样传递给函数或是否需要转换它产生影响 问题是 为什么RuneFunc and StringMap工作 但不Integer https play golang org p buKNk
  • DateTime->format(epoch) 返回错误的日期

    我正在开发一个项目 但在将纪元时间格式化为人类可读时间时遇到问题 我有以下纪元时间1428512160当我把它通过 epochconverter com 时 我得到了人类时间08 04 2015 17 56 00 GMT 1 00 DST正
  • 页码和偏移量

    我正在学习不同类型的内存管理 我不明白在虚拟地址中具有偏移位的意义 以及为什么页面大小是由2 我的主要困惑是 给我一个在指令中使用偏移量来访问某个虚拟地址的示例 我的第二个困惑是 通常的说法是 如果逻辑地址的大小是2 m页面大小是2 n 则
  • 如何使用h5py将数据写入复合数据?

    我知道在c我们可以使用轻松构建复合数据集struct逐块键入并分配数据 我目前正在实施类似的结构Python with h5py import h5py import numpy as np we create a h5 file f h5
  • Intellij Git 命令不起作用

    我的 Intellij Java 项目中的 git 集成存在问题 当我尝试执行提交时 无论我是否更改了任何内容 总是会出现相同的消息 未检测到任何更改 此外 当我试图拉东西时 没有任何动作 在 Intellij 的版本控制选项卡中 只有一条
  • 从startup.cs asp.net core重定向用户

    我有一个要求 我想检查数据库是否已连接 我有相应的类 如果此类的方法返回 false 那么我想重定向到将进行设置的数据库页面 视图 我有Asp Net核心身份 我想在 EF core 尝试连接到数据库之前检查此情况 我尝试使用以下命令 但返
  • setText 时不能使用 Frame.origin

    我正在使用下一个代码来淡出并向上滚动我的文本字段 但我刚刚注意到当我使用类似的东西时 textField setText something or textField resignFirstResponder 我失去了向上滚动的能力 任何人
  • JFreechart X和Y轴缩放

    可以在jfreechart中设置轴刻度值吗 例如 我想要 X 轴刻度为 10 Y 轴刻度为 1 您设置了TickUnit 如果您使用的是XYPlot尝试这个 XYPlot plot chart getXYPlot NumberAxis xA
  • 为什么我的一些 HTML 内部链接有效,而另一些则无效?

    救命 我对这个世界完全陌生 我正在首页上制作一个菜单栏 并链接到网站上的其他页面 以下是代码示例 ul li a href About a li li a href The Therapist a li li a href Pay what
  • 视网膜图像中的血管分割

    我正在尝试在视网膜图像中追踪血管 目前我正在使用 cv2 的阈值函数来使血管与周围视网膜的对比度更高 from matplotlib import pyplot as plt import cv2 img cv2 imread misc i
  • 并发 C++ 程序中的可见性

    我知道在 Java 中 从另一个线程访问成员时不能保证成员的可见性 含义是访问线程可能会看到该成员的窃取值 因为缓存尚未刷新到主内存 我想知道C 是否也是如此 也在 C 11 中 如果是这样 你如何在 C 中解决这个问题 在Java中 可以
  • backbone.js 获取缓存的结果

    我在以下backbone js控制器的索引操作中使用fetch App Controllers PlanMembers Backbone Controller extend routes index index function var p
  • Linq 中的多个 WHERE 子句

    我是 LINQ 新手 想知道如何执行多个 where 子句 这就是我想要实现的 通过过滤掉某些用户名来返回记录 我尝试了下面的代码 但没有按预期工作 DataTable tempData DataTable grdUsageRecords
  • PHP $_GET 未从 Web 浏览器填充 URL 查询参数

    我遇到了一个奇怪的问题 GET and REQUEST 变量为空 即使正在传递参数 我的 PHP 代码 echo SERVER REQUEST URI echo print r REQUEST echo print r GET Output
  • MVVM light - 如何访问其他视图模型中的属性

    我正在使用 mvvm light 构建 Silverlight 应用程序 是否有代码片段显示如何从另一个视图模型或用户控件的隐藏代码中访问视图模型的属性或命令 我想这很简单 但我不知何故错过了一些东西 Ueli 您可以使用 Messenge
  • 控制器内的 SignalR 身份验证?

    我正在使用 SignalR 但我似乎无法掌握身份验证来构建用于公共聊天和安全聊天的演示应用程序 有一个聊天室 我想演示经过身份验证的用户将收到公共消息and经过身份验证的用户消息 身份验证是使用现有的 MVC 3 Internet 应用程序
  • 编写无需 requirejs 即可运行的 Requirejs 模块

    我想以某种方式创建我的模块 它们可以与 requirejs 一起使用 也可以不与 requirejs 一起使用 如果没有 require js 它们应该正常工作 所以我必须确保它们正确加载 比如以正确的顺序放置脚本标签 所以 jQuery
  • 你好,我刚刚用 pip 安装了 requests 但无法导入它

    例如我的代码是 import requests r requests get https www python org r status code 结果是 Traceback most recent call last File C Use
  • 添加多个自定义http请求标头之谜

    HttpGet request new HttpGet https 192 168 1 140 8732 我想知道为什么我只能成功发送自定义标头 UserName 和 AuthToken 如果我执行以下操作 request setHeade