[解決済み] HttpWebRequest-リモートサーバーがエラーを返しました。(400) 不正なリクエスト
2022-02-17 02:45:13
質問
The remote server returned an error.が表示されます。(400) Bad Request エラーを返しました。 私は、httpサーバーにxmlファイルをアップロードしようとしています。 私のxmlファイルは、ユーザー名、パスワード、ドメインのタグを含んでおり、手動で接続しようとしたとき、私はそれを接続することができましたが、このコードを通して接続しようとしたときに、同じ資格情報を使用して、私は400 Bad Requestエラーを取得しています。 この問題を克服する方法を私に提案してください。 ありがとうございます。 `
public static void UploadHttp(string xml)
{
string txtResults = string.Empty;
try
{
string url = "http://my.server.com/upload.aspx ";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.KeepAlive = false;
request.SendChunked = true;
request.AllowAutoRedirect = true;
request.Method = "Post";
request.ContentType = "text/xml";
var encoder = new UTF8Encoding();
var data = encoder.GetBytes(xml);
request.ContentLength = data.Length;
var reqStream = request.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();
WebResponse response = null;
response = request.GetResponse();
var reader = new StreamReader(response.GetResponseStream());
var str = reader.ReadToEnd();
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
HttpWebResponse err = ex.Response as HttpWebResponse;
if (err != null)
{
string htmlResponse = new StreamReader(err.GetResponseStream()).ReadToEnd();
txtResults = string.Format("{0} {1}", err.StatusDescription, htmlResponse);
}
}
else
{
}
}
catch (Exception ex)
{
txtResults = ex.ToString();
}
}`
解決方法は?
PUTではなくPOSTで間違いないですか?
POSTは通常
application/x-www-urlencoded
の形式を使用します。もしREST APIを使用しているのであれば、PUTを使用すべきかもしれません。ファイルをアップロードする場合は、おそらく
multipart/form-data
. 常にというわけではありませんが、通常は、これが正しい方法です。
また、ログインに認証情報を使用していないようです。ユーザー名とパスワードを送信するには、HttpWebRequestオブジェクトのCredentialsプロパティを使用する必要があります。
関連
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] エラー - IISメタベースにアクセスできません。
-
[解決済み] リクエストは中断されました。SSL/TLSセキュアチャネルを作成できませんでした
-
[解決済み】.Net HttpWebRequest.GetResponse() で http ステータスコード 400 (bad request) が返されると例外が発生する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み] 関数を終了するには?
-
[解決済み】「namespace」なのに「type」のように使われる。