问题标签 [http-status-code-406]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 来自 django 的“未找到:/406.shtml”
我在共享主机上使用 apache fcgi 运行 django。我已将其设置为报告 404 错误并通过电子邮件继续查看Not Found: /406.shtml
(我猜s
是因为它只是 https)。但是我已经在以下位置设置了错误文档.htaccess
:
ErrorDocument
在为每个错误设置一个之前,我从 django 收到了一堆类似的 404 错误,但它仍然发生在 406 上。grep 406
通过 apache 错误日志,我看到偶尔出现 406(不是 404)错误406.shtml
,例如以下,但不如 django 给我发电子邮件的频率:
我什至不确定这是否是 apache 内部重定向406.shtml
并将其转发到 django 或者是否某些机器人试图406.shtml
直接查找。前者似乎表明ErrorDocument
. 后者并不是我真正的问题,但是要么我应该406.shtml
在 apache 日志中看到 404,要么什么都没有,因为 django 将处理 404?我怎样才能进一步追踪它?
我无法仅通过访问我的网站来重现该问题,但我想知道发生了什么。
linux - 为什么 Linux 上的 PHP cURL 会更改 Content-Type 请求标头?
似乎 PHP 的内置 cURL 模块在发送标题字段之前会更改它们。
我开发了一个小类来通过 HTTP 请求与编码器设备进行通信,使用 cURL 来完成任务。该代码在 Windows 下运行良好,但是,当我在 Debian 下运行它时,设备响应 HTTP 406 错误。
错误代码表示服务器无法以请求的格式响应。(更多信息)
这很奇怪,因为响应类型是由 URL 的扩展名决定的(可能的模式是 xml 和 json),而我没有Accept
在 header 中明确设置参数。
使用该CURLOPT_VERBOSE
参数,它会转储以下数据:
看起来Content-Type: application/xml
改成了application/x-www-form-urlencoded
,我认为这是请求失败如此悲惨的主要原因。
传递给curl_setopts()
函数的数组如下所示:
如您所见,没有Accept
标签,并且内容类型设置为application/xml
.
所以这是我的问题:为什么 curl 会更改请求的标头?如果问题的根源是其他问题,那么它在 Win10 上运行而不在 Debian Jessie 上运行的原因是什么?
更新(16. 04. 04.):
有趣的是,相同版本的 cURL 库在 PHP 中不起作用,但在 cli 中起作用:
linux 机器上的 CURL 版本是7.26.0 (x86_64-pc-linux-gnu) libcurl/7.26.0。
在此先感谢,并为文字墙感到抱歉。
.net - 如何在内容协商期间使 API 抛出 406 或 415 代码
在构建 RESTful API 时,最好在进行内容协商时发出 406(不可接受)和 415(不支持的媒体类型)的返回码。
我不清楚的是如何在使用属性路由的 WebAPI2 应用程序中返回这些代码。
我已经看到了关于如何使用 ActionMethodSelectorAttribute 和 RouteFactoryAttribute 来创建自定义路由选择器的示例,但是当由于 Accept 或 Content-Type 不匹配而无法找到路由时,自动响应是 404 Not found 错误,这并不能完全解释问题。
我想做的是捕获为什么找不到路由,如果是由于内容类型协商失败,返回适当的 406 或 415 响应代码。
是否有任何示例显示如何执行此操作?
java - .com 作为 pathvar 的 Spring 406 状态代码问题
我有以下控制器方法:
当将 loginId 传递为“abc.com”时,它会给出 406 状态码,否则它工作得很好。
我有以下 WebConfig 文件:
它只为 .com 发送 406 状态代码,而不为 .randomvalue 发送。我尝试在 stackoverdflow 上添加其他线程建议的 jackson-core-asl 和 jackson-databind-asl jar,但对我没有任何作用。请帮忙解决这个问题。
php - Plivo 入站 SMS 被 Modsec 阻止?
哦,男孩 - 这对我来说是一个新的。
我有一个 Plivo 驱动的 SMS 应用程序运行(或多或少完美无瑕)几个月了。2天前,它无缘无故停止回复我的入站短信。那时我没有太多时间去弄清楚,但我终于有时间看东西了,坦率地说,这很丑陋。
尽我所能提供的详细信息:我正在通过 HostGator 运行我的网络服务器,过去它运行良好。我对 Plivo 的处理语言是 PHP。现在,入站 SMS 甚至没有到达我的处理脚本,所以这就是错误所在 - Plivo 将消息报告为“未传递”,并且调试级错误日志为我提供了这个很好的警告:
传入消息 0287e6ce-0d30-11e6-a4b5-22000afd08f6: fetch_message_url POST (URL HERE) with {'To': 'Valid Number', 'From': 'Another Valid Number', 'TotalRate': '0', 'Units' : '1', 'Text': 'Weather', 'TotalAmount': '0', 'Type': 'sms', 'MessageUUID': 'Valid UUID'} -- 失败- 406 不可接受!
不能接受的!
在此服务器上找不到所请求资源的适当表示。此错误是由 Mod_Security 生成的。
请注意,任何识别信息都已从该块引用中删除。我目前正在下载 modsec error_log,最上面的是:
时间戳正好是最后一条成功发送的 SMS 之后的 1 分钟,以及第一个失败的 SMS 之前的大约 30 分钟。我不知道该错误日志是否是 modsec 启动的时间,或者发生了什么,但我认为这可能与它有关。我正在努力寻找解决方案,这就是我目前想出的:
找到 Plivo 入站 SMS IP(它从中发布的 IP)并在 modsec 中将其列入白名单
或者
找到一种方法来修改 PHP 脚本所期望的内容,以便它可以让帖子通过?
或者
还有什么可以推荐的。我正在搜索(下载的内容)modsec 错误日志,它显示了很多我认为不适用于我的特定子帐户的内容。到目前为止,我还没有在其中找到对我的用户文件夹或“plivo”的引用。建议?
java - 使用 RestTemplate 下载本地主机导致 406
我正在测试通过以下方式从 localhost 下载文件restTemplate
:
这是我的测试:
在我的我WebConfig
已经配置如下:MssageConverters
ContentNegotiation
为什么我收到406
错误?
我错过了什么吗?
org.springframework.web.client.HttpClientErrorException: 406 Not Acceptable
angular - 在获取请求角度 2 上设置标头
我尝试将 Authorization 标头设置为 GET 请求,以向其余 API 验证用户身份。我正在使用 Angular 2 RC1。(我是一个完全的初学者)。
我在我的后端允许 CORS。
我的控制台:
选项 api/userProfile/
XMLHttpRequest 无法加载 /userProfile/。预检响应具有无效的 HTTP 状态代码 406
任何想法 ?
json - Phoenix - JSON API 406 不可接受的响应
我开始了一个全新的 Phoenix 项目,并将JASerializer用于我的 JSON API。我按照文档了解要添加到我的项目中的内容,所以我有:
配置/config.esx
网络/路由器.ex
我使用了 JSON API 生成器:
我正在使用 Postman 来测试我的请求,这是我在向其中添加一些标头时看到的内容:
所以在我的 Phoenix 服务器控制台中,它正在输出:
[调试] ** (Phoenix.NotAcceptableError) 接受标头中不支持媒体类型,应为 ["json-api"] 之一
我尝试删除 _build 文件夹并重新编译似乎对某些人有用的插件,但不是我。
DID 的工作是plug JaSerializer.ContentTypeNegotiation
在我的路由器中删除,但这似乎是我不应该删除的重要部分。
有没有人有任何想法?
这是我在 repo 上提交的问题的链接ja_serializer
,可能会有所帮助:https ://github.com/AgilionApps/ja_serializer/issues/138#issuecomment-232998259
html - open.connection(x,"rb") 中的错误:HTTP 错误 406
我正在尝试阅读read_html
在 R 中使用的网站的内容。但是,对于某些网站,例如http://benchmarkrealestate.com/
,我收到此错误。Error in open.connection(x,"rb") : HTTP error 406
这个错误是什么意思?这只发生在某些网站上。我试图在网上查找它,但无法找到我收到此错误的确切原因。
我该如何解决?
angular - 发布请求有效,但放置请求不在角度 2
我向 Angular 2 中的 Rest API 发出 PUT 请求,但它不起作用。当我使用 POST 发出相同的请求时,它工作正常。
这是我的观点:
我的观点调用我的服务:
我的控制台:
我的标题(API):
当我在我的 API 中评论此代码时,我的 PUT 请求有效
有任何想法吗 ?