问题标签 [http-put]
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.
asp.net - WCF REST 4.0 PUT/POST/DELETE 不起作用(400 错误请求)
我一直致力于在 .NET 4.0 中设置 WCF REST 服务。我有 GET 请求工作,但任何涉及向服务器发布数据的请求都会失败,并带有HTTP 400 Bad Request
.
这是我的简单服务:
我的 Web.config:
还有我的 global.asax:
基本上,模板中的所有内容都是默认的,但我只是简化了Service1
. 我已经尝试通过调试器运行它并通过 Fiddler 传递请求并在 IIS 中运行它并执行相同的操作,以及使用简单的控制台应用程序来伪造 POST,但我总是收到400 Bad Request
错误,我不知道为什么。我已经在整个互联网上查看,无法弄清楚任何事情。
我已经尝试了以下两个请求示例(均无效):
XML:
JSON:
jersey - PostReplaceFilter 的问题,无法用 PUT 覆盖 POST
我在使用 PostReplaceFilter 时遇到问题。我正在尝试使用 PUT 请求覆盖从 HTML 表单发送的 POST 请求。文档说,对于 Jersey 1.10(我正在使用),我只需要使用请求 HEADER(“X-HTTP-Method-Override”)或查询参数“_method”来发出覆盖信号。我选择了使用“_method”的方式,但它根本不起作用。
这是我的 HTML 表单:
这是我的资源:
这是我的 web.xml 配置:
我也试过:
我不确定那里出了什么问题,但请求仍然在服务器端显示为 POST,而不是 PUT。如果我错过了任何重要的事情,请告诉我。
多谢你们,
javascript - WebView 忽略调用 PUT/DELETE Http 方法的 Javascript
我有一个 Web 视图,它的 HTML/Javascript 使用 Put/Delete 方法进行 Http 调用。这些调用似乎被忽略了(我在 chrome 上测试它们并且它们工作正常)。
任何想法?
这是 WebView 中的 JS 代码:
请注意,这是来自 jQuery 的 Ajax 调用。
wcf - 已部署的 WCF RESTful 服务上的 PUT 和 DELETE 请求出现 404 错误
我已将 MVC3 和 WCF Web 服务部署为单个应用程序。两者都按预期工作。GET 和 POST 请求完美运行,但 PUT 和 DELETE 请求返回 404 错误。这些在本地工作正常。最初它为 PUT/DELETE 请求请求用户名/密码。
这是我的 web.config 文件中的 WebServer 配置
这是我的 PUT 和 DELETE 方法:
我的设置:
- .NET 4.0
- MVC3
- IIS 7.0
注意:我使用的是共享主机计划,因此无法直接访问 IIS7.0,因此我需要通过 web.config 文件进行更改。
php - REST Web 服务 HTTP_PUT 参数
我用 tonic (用于休息的 php 库)制作了一个休息网络服务。
我使用根据 CRUD 和 REST put 来编辑元素。
所以我用图片和文件类型调用我的方法并解析参数并将base64编码文件保存在我的服务器上。
代码:
问题:保存的图片与原图不一样,无法显示为图片
我使用http://www.redio.info/werkzeuge/file2base64.html将我的图片转换为base64。我认为问题可能出在我的代码开头的解析中。
原始:13.872 字节
新图像:14.313 字节
asp.net-mvc - 为什么 MVC 操作方法选择器没有选择我的 HttpPut 操作?
给定以下路线:
以及以下控制器:
以及呈现以下形式的视图(使用HtmlHelper.@Html.HttpMethodOverride(HttpVerbs.Put)
:
提交表单时,MVC 动作方法选择器不选择上述动作方法。如果我在左大括号上设置断点,它永远不会被命中。在浏览器中,它返回 404 页面(我相信这是默认的 ActionNotFound 行为)。
但是,操作方法选择器确实选择了具有以下路由的 Add HttpPut 方法:
这似乎不对……是吗?在我看来,我应该能够在没有 POST 约束的情况下做到这一点。action 方法没有用 HttpPost 修饰,那么为什么需要 POST 约束呢?
asp.net-mvc - 在 .NET MVC 上启用 Http PUT 请求
我正在开发一个 MVC 应用程序。在我最初的服务草稿中,我在我的一个控制器中使用了这种方法:
这很好用。在最新版本中,我被要求将其更改为 PUT 请求,以将其与使用 post 的类似添加机制区分开来。所以我把它改成这样:
突然间,我的请求收到了 404,所有这些都来自于更改 AcceptVerbs。从错误的外观来看,似乎 IIS 正在尝试将请求路由为标准 Web 表单页面,而不是使用 MVC 无扩展 url 重写。
谷歌搜索似乎一个常见的原因是浏览器不允许 PUT 请求,但我没有使用浏览器来测试这个 - 我正在使用 Fiddler。所以那里应该没有问题。我也认为正确的设置已经在 web.config 中:
那么我错过了什么?
编辑:此代码适用于同事的机器。所以看起来我的本地 IIS 设置有问题。仍然无法解释我需要改变什么 - 有什么想法吗?
干杯,马特
python - 上传文件的 PUT 请求在 Flask 中不起作用
我正在使用 Flask 开发一个 Web 应用程序。其中一个视图应该通过 PUT 请求接受上传的文件,但是我只能让 POST 请求$ curl -F upload=@filename URL
正常工作。对于 PUT 请求,例如ImmutableMultiDict 是空$ curl --upload-file filenname URL
的。request.files
我是否在 Flask 中遗漏了某些东西,或者可能使用 curl?
file-upload - 使用 HTTP Put 方法不工作的 JMeter 文件上传
这个想法是在 JMeter 中构建一个采样器,它将使用 HTTP PUT 方法上传文件。我正在尝试按照官方文档将整个内容主体指定为没有参数名称的文件。
- 应该发生什么:文件被上传,服务器返回 201: created
- 实际发生的情况:
java.lang.NullPointerException: charsetName
at java.lang.String.<init>(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sendPutData(HTTPHC4Impl.java:1067)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:274)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1054)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1043)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:416)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271)
at java.lang.Thread.run(Unknown Source)
这似乎表明 JMeter 在填写请求正文时存在问题。我可以通过在请求中指定一个参数来消除此错误,但我希望整个主体都是照片数据。这是我想要完成的 CURL 行:
curl -u testuser:testpass "http://localhost:8080/photo" -T photo.jpg -H "content-type:image/jpeg"
正如我在一篇文章中看到的那样,我尝试将内容编码设置为 UTF-8,但这并没有改变。
我在 Windows 7 x64 上运行 Java 1.7.0。jmeter.log 中没有生成任何感兴趣的内容,wireshark 告诉我 JMeter 没有发送请求。
有任何想法吗?提前致谢。
java - HTTP PUT 在 Java 中上传文件
编辑:我想我已经想出了如何做二进制数据部分。在代码中仔细检查它,但我很确定我做对了。现在我在尝试按照Vimeo API 文档中所述完成上传时遇到新错误
编辑 2:将 .debug() 添加到 OAuthService 并更新了输出。
原始问题:我正在尝试使用Vimeo API (Streaming Method)将视频上传到 Vimeo 。我正在使用scribe来授权我的应用程序,获取我的访问令牌并准备视频上传。在这个 PUT 的 HTTP 请求示例中,我只是不知道 Vimeo API 文档说“您的文件的二进制数据”时该怎么做:
输入 http://1.2.3.4:8080/upload?ticket_id=abcdef124567890 HTTP /1.1
主机:1.2.3.4:8080
内容长度:339108
内容类型:视频/mp4
....您的文件的二进制数据在这里....
我可以得到票和标题罚款。只是,我该怎么做才能插入文件的二进制数据?
笔记:
- 它是 Java 中的桌面应用程序
- 这是我正在测试的一个小视频文件
这是我的 put 代码(记住,我使用的是scribe)
方法的输出signSendAndPrint(OAuthService service, Token accessToken, OAuthRequest request, String description)
和OAuthService.debug()
: