問題タブ [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.
linux - Linux 上の PHP cURL が Content-Type 要求ヘッダーを変更するのはなぜですか?
PHP の組み込み cURL モジュールは、送信前にヘッダー フィールドを変更しているようです。
cURL を使用して、HTTP 要求を介してエンコーダー デバイスと通信するための小さなクラスを開発しました。このコードは Windows では問題なく動作しますが、Debian で実行すると、デバイスが HTTP 406 エラーで応答します。
エラー コードは、サーバーが要求された形式で応答できないことを示します。(詳細)
応答タイプは URL の拡張子によって決定され (可能なモードは xml と json です)、Accept
ヘッダーにパラメーターを明示的に設定していないため、これは奇妙です。
パラメータを使用してCURLOPT_VERBOSE
、次のデータをダンプします。
Content-Type: application/xml
に変更されたように見えますがapplication/x-www-form-urlencoded
、これがリクエストが惨めに失敗する主な理由だと思います。
関数に渡される配列はcurl_setopts()
次のようになります。
ご覧のとおり、Accept
タグはなく、コンテンツ タイプは に設定されていapplication/xml
ます。
だからここに私の質問があります: curl がリクエストのヘッダーを変更するのはなぜですか? 問題の根本が別のものである場合、Debian Jessie ではなく Win10 で動作する理由は何ですか?
更新 (16. 04. 04.):
おもしろいことに、同じバージョンの cURL ライブラリは PHP では機能しませんが、cli では機能します。
Linux ボックスの CURL バージョンは7.26.0 (x86_64-pc-linux-gnu) libcurl/7.26.0です。
事前に感謝します。テキストの壁で申し訳ありません。
php - Modsec によってブロックされた Plivo インバウンド SMS?
ああ、これは私にとって新しいものです。
私は Plivo を利用した SMS アプリケーションを (多かれ少なかれ問題なく) 数か月間実行してきました。2 日前、理由もなく、受信テキストへの応答を停止しました。当時はそれを理解する時間があまりありませんでしたが、ようやく物事を見る時間ができましたが、率直に言って醜いです。
私が提供できる限りの詳細: HostGator を介して Web サーバーを実行していますが、これまでは問題なく動作していました。私のPlivoの取り扱い言語はPHPです。現在、インバウンド SMS は処理スクリプトに到達していないため、ここでエラーが発生しています。Plivo はメッセージを「未配信」と報告し、デバッグ レベルのエラー ログには次のような素晴らしい警告が表示されます。
受信メッセージ 0287e6ce-0d30-11e6-a4b5-22000afd08f6: fetch_message_url POST (URL HERE) {'To': '有効な番号'、'From': '別の有効な番号'、'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 (投稿元) を見つけて、modsec でホワイトリストに登録します。
また
投稿が通過できるように、PHP スクリプトが期待するものを変更する方法を見つけますか?
また
他にお勧めできるもの。modsec エラー ログ (ダウンロードされたもの) を検索していますが、特定のサブアカウントには当てはまらないと思われる多くのことが示されています。これまでのところ、自分のユーザー フォルダーまたは「plivo」への参照が見つかりませんでした。おすすめは?
java - RestTemplate を使用した Localhost のダウンロードが 406 になる
次の方法で、localhost からファイルをダウンロードするテストを行っていますrestTemplate
。
これが私のテストです:
私のWebConfig
私は次のように構成されていMssageConverters
ますContentNegotiation
:
406
エラーが発生するのはなぜですか?
何か不足していますか?
org.springframework.web.client.HttpClientErrorException: 406 Not Acceptable
angular - get request angular 2でヘッダーを設定します
REST API に対してユーザーを認証するために、Authorization ヘッダーを GET 要求に設定しようとしています。Angular 2 RC1 を使用しています。(私は完全な初心者です)。
バックエンドで CORS を許可します。
私のコンソール:
オプション api/userProfile/
XMLHttpRequest は /userProfile/ を読み込めません。プリフライトの応答に無効な HTTP ステータス コード 406 が含まれています
何か案が ?
json - Phoenix - JSON API 406 Not Acceptable 応答
私はまったく新しい Phoenix プロジェクトを開始し、JSON API にJASerializerを使用しています。プロジェクトに何を追加するかについては、ドキュメントに従っています。
config/config.esx
web/router.ex
そして、JSON API ジェネレーターを使用しました。
私は Postman を使用してリクエストをテストしています。これにいくつかのヘッダーを追加すると、次のようになります。
私のPhoenixサーバーコンソールでは、次のように出力されています:
[デバッグ] ** (Phoenix.NotAcceptableError) Accept ヘッダーでサポートされているメディア タイプがありません。["json-api"] のいずれかが必要です。
_build フォルダーを削除し、プラグを再コンパイルしてみました。
DID の作業でplug JaSerializer.ContentTypeNegotiation
ルーターから削除されていたものですが、これは削除する必要のない重要な部分のようです。
誰にもアイデアはありますか?
ja_serializer
参考になるかもしれないレポに提出した問題へのリンクは次のとおりです。
html - open.connection(x,"rb") のエラー: HTTP エラー 406
read_html
Rを使用して Web サイトのコンテンツを読み取ろうとしています。ただし、のような一部の Web サイトではhttp://benchmarkrealestate.com/
、このエラーが発生します。Error in open.connection(x,"rb") : HTTP error 406
このエラーはどういう意味ですか? これは、一部の Web サイトでのみ発生します。オンラインで調べてみましたが、このエラーが発生する正確な理由を見つけることができませんでした。
これを修正するにはどうすればよいですか?
angular - Post リクエストは機能しますが、Put リクエストは angular 2 では機能しません
angular 2 で Rest API に PUT リクエストを送信しましたが、機能しません。POST で同じリクエストを行うと、正常に動作します。
これは私の見解です:
私のビューは私のサービスを呼び出します:
私のコンソール:
私のヘッダー(API):
API でこのコードにコメントすると、PUT リクエストが機能します
何か案は ?