問題タブ [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不正な要求)
.NET4.0でのWCFRESTサービスのセットアップに取り組んでいます。GETリクエストは機能していますが、サーバーへのデータのPOSTを伴うリクエストはすべて。で失敗しますHTTP 400 Bad Request
。
これは私の簡単なサービスです:
私のWeb.config:
そして私のglobal.asax:
基本的に、すべてがテンプレートのデフォルトですが、単純化しただけService1
です。デバッガーを介して実行し、Fiddlerを介して要求を渡し、IISで実行して同じことを実行し、単純なコンソールアプリケーションを使用してPOSTを偽造しようとしましたが、常に400 Bad Request
エラーが発生し、理由がわかりません。私はインターネット全体を見てきましたが、何も理解できません。
次のリクエストの例の両方を試しました(どちらも機能しません)。
XML:
JSON:
jersey - PostReplaceFilterの問題、PUTでPOSTをオーバーライドできない
PostReplaceFilterの使用に問題があります。HTMLフォームから送信されたPOSTリクエストをPUTリクエストでオーバーライドしようとしています。ドキュメントによると、Jersey 1.10(私が使用している)の場合、オーバーライドを通知するために必要なのは、リクエストHEADER( "X-HTTP-Method-Override")またはクエリパラメーター"_method"のいずれかのみです。「_method」方式を使用することを選択しましたが、まったく機能しません。
これが私のHTMLフォームです:
これが私のリソースです:
これが私のweb.xml設定です:
私も試しました:
そこで何がうまくいかなかったのかはわかりませんが、リクエストはサーバー側でPUTではなくPOSTとして表示されました。重要なことを見逃した場合はお知らせください。
みんなありがとう、
javascript - WebView は、PUT/DELETE Http メソッドを呼び出す Javascript を無視します
HTML/Javascript で Put/Delete メソッドを使用して Http 呼び出しを行う Web ビューがあります。これらの呼び出しは無視されているようです (Chrome でテストしたところ、問題なく動作しました)。
何か案が?
WebView 内の JS コードは次のとおりです。
これは jQuery からの Ajax 呼び出しであることに注意してください。
wcf - デプロイされたWCFRESTfulサービスでの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 aに直接アクセスできないため、web.configファイルを介して変更を加える必要があります。
php - RESTWebサービスのHTTP_PUTパラメーター
私はtonic(残りのphpライブラリ)で残りのWebサービスを作成します。
要素の編集にはCRUDとRESTputに従って使用します。
そのため、画像とファイルタイプを使用してメソッドを呼び出し、パラメーターを解析して、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の動作であると思います)。
ただし、アクションメソッドセレクターは、次のルートでAddHttpPutメソッドを選択します。
これは正しくないようです...そうですか?POSTの制約なしでこれを実行できるはずだと私には思えます。アクションメソッドはHttpPostで装飾されていないのに、なぜPOST制約が必要なのですか?
asp.net-mvc - .NETMVCでHttpPUT要求を有効にする
私はMVCアプリケーションに取り組んでいます。サービスの元のドラフトでは、コントローラーの1つにこのメソッドがありました。
そして、それはうまくいきました。最新のリビジョンでは、これをPUTリクエストに変更して、postを使用する同様の追加メカニズムと区別するように求められました。だから私はそれをこれに変更しました:
そして突然、AcceptVerbsを変更するだけで、リクエストに対して404が返されます。エラーの外観からは、IISがMVC拡張機能のないURLの書き換えを使用するのではなく、標準のWebフォームページとして要求をルーティングしようとしているように見えます。
これをグーグルで検索すると、一般的な原因はブラウザがPUTリクエストを許可していないことのようですが、これをテストするためにブラウザを使用していません-私はFiddlerを使用しています。ですから、そこには問題はないはずです。また、正しい設定はすでにweb.configにあると思います。
だから私は何を逃したのですか?
編集:このコードは同僚のマシンで動作します。したがって、IISのローカルセットアップに問題があるように見えます。しかし、私が何を変更する必要があるのかを説明するのにまだ途方に暮れています-何かアイデアはありますか?
乾杯、マット
python - Flaskで機能しないファイルをアップロードするためのPUTリクエスト
Flaskを使用してWebアプリケーションに取り組んでいます。$ curl -F upload=@filename URL
ビューの1つは、PUTリクエストを介してアップロードされたファイルを受け入れることになっていますが、POSTリクエストを正しく機能させることしかできません。ImmutableMultiDictなど$ curl --upload-file filenname URL
のPUT要求request.files
では、空です。Flaskで何かが足りないのですか、それともカールを使用しているのでしょうか?
file-upload - HTTP Put メソッドを使用した JMeter ファイルのアップロードが機能しない
アイデアは、HTTP PUT メソッドを使用してファイルをアップロードするサンプラーを JMeter で構築することです。公式ドキュメントに従って、コンテンツ本体全体をパラメーター名のないファイルとして指定しようとしています。
- 何が起こるべきか: ファイルがアップロードされ、サーバーは 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 - Java でファイルをアップロードするための HTTP PUT
編集:バイナリデータの部分を行う方法を理解したと思います。コードで再確認してください。しかし、私はそれが正しいと確信しています。Vimeo API ドキュメントで説明されているように、アップロードを完了しようとすると、新しいエラーが発生します。
編集 2: OAuthService に .debug() を追加し、出力を更新しました。
元の質問: Vimeo API (ストリーミング方式)を使用してビデオを Vimeo にアップロードしようとしています。スクライブを使用してアプリを承認し、アクセス トークンを取得して、ビデオのアップロードの準備をしています。PUT の HTTP リクエストの例で、Vimeo API ドキュメントに「ファイルのバイナリ データがここにある」と記載されている時点で、何をすべきかわかりません。
PUT 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()
: