HttpWebRequestサーバー利用不可503probleme
-
08-07-2019 - |
質問
私はもともとWebRequestとWebResponse送Httpポストメッセージもんの"OK"をクリックします。のメッセージはXMLの署名証明書の形式をサポートしています。
を構成するこC#になるサービスの送信を、httpsです。HTTPSのサイトを他の場所とん言うまでもない。HTTPSの地元のサイトに現地で受信したいメッセージ-ポストや地域の文書は、結果をファイルです。でシミュレーのその他のサイトをしているのかもしれません
地元のサイトは自己署名証明書の有効期限は、2048.
このコードに働きます。いつも掲載してやってOKです。両ります。この週間の試験と実際のプロジェクトの実施というものがKaput.両ります。
地元のサイトで言っていたが接続を使用します。この問題の原因を自己署名証明書が何らかの理由を超えてもその優地獄である。の質問はここだけの有効性を確認証明書を常にtrueになるまでにないbuggingます。
こう書くこと:
ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();
の開始のご使用をご検討ください。うみの運行となってます。
残りの問題は、リモートサーバに返されるエラー:(503)サーバできます。".私のURLを入力私のブラウザで動作します。のコードをこのウェブサイトはを受けていないものとした場合は、web対応のちょっと上記のエラー
かったのでテスト申請が送ら"試験1 2 3"がんのエラーになります。いままでにハーバード大学でhttpsサイトはありません。
private void btnSend_Click(object sender, EventArgs e)
{
try
{
WebRequest req = WebRequest.Create(cboUrl.Text);
req.PreAuthenticate = true;
req.UseDefaultCredentials = true;
req.Method = "POST";
req.ContentType = "text/xml";
String msg = txtMsg.Text;
using (Stream s = req.GetRequestStream())
{
try
{
s.Write(
System.Text.ASCIIEncoding.ASCII.GetBytes(msg), 0, msg.Length);
}
finally
{
s.Close();
}
}
WebResponse resp = req.GetResponse();
StreamReader str = new StreamReader(resp.GetResponseStream());
txtRes.Text = str.ReadToEnd();
}
catch (WebException ex)
{
txtRes.Text = ex.Message;
}
catch (Exception ex)
{
txtRes.Text = ex.Message;
}
}
これはその上に築からこそ、インターネット:
private void button1_Click(object sender, EventArgs e)
{
try
{
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(cboUrl.Text);
myReq.Headers.Clear();
myReq.Method = "POST";
myReq.KeepAlive = false;
myReq.ProtocolVersion = HttpVersion.Version11;
myReq.ContentType = "text/xml";
myReq.Proxy = null;
myReq.Credentials = null;
myReq.ContentLength = txtMsg.Text.Length;
using (StreamWriter sendingData = new StreamWriter(myReq.GetRequestStream()))
{
sendingData.Write(txtMsg.Text);
sendingData.Flush();
sendingData.Close();
}
HttpWebResponse myResponse = (HttpWebResponse) myReq.GetResponse();
StreamReader responseStream = new StreamReader(myResponse.GetResponseStream());
txtRes.Text = responseStream.ReadToEnd();
responseStream.Close();
myResponse.Close();
}
catch(WebException ex )
{
txtRes.Text = ex.Message;
}
catch (Exception ex)
{
txtRes.Text = ex.Message;
}
}
更新
エラーでしたが、私が最も気に入っていったとhttpwebrequest必要があhttpheadersいませんでした提供することは致しま前るということだけが起こったのか"OK"します。彼らは固定のコードをとっ固定鉱山できなかったこと、です。
いかったのですが、自分以外の誰かを確認すと、下のようなたのプロキシの設定を確認の場合には例外は何もない。
解決
の場合 ない 仔る503エラー時の航行のURLをブラウザでも い 受けしを要求する場合には、資源利用の場合HttpWebRequest、最初に思いままでの値を指定す UserAgent が提出頂く場合がございます。-
また利用したい Fiddler2 または他のツールは良い考えで何が起こっているかの寿命になります。難しい指導を知らずにありの詳細についてはサービスでの投稿メッセージです。
他のヒント
問題は、このWebサイトが変更されたことです。以前は、迷惑メールでメッセージを送信すると、通常のOKが返されました。彼らはウェブサイトを変更し、いくつかのhttpヘッダーが必要です。昨日、私は一日中httpヘッダーを持っていて、夜はそれが機能したときでした。私の場合は、httpヘッダーが必要であり、取得できず、何かが爆発する可能性があります。
今日は、ヘッダーを提供し、httpヘッダーを提供せずにテストしました。後者の場合、503を提供しました。
さらに情報が見つかった場合は、ここに投稿しようとします。これにより時間と他の人の髪の毛が少し節約されることを願っています:
同様の問題がありました。 Fiddlerのヒントのおかげで、新しい開発環境のプロキシ設定が原因であることがわかりました。とてもうるさい。 .NET Webサービスは、IEで設定されたプロキシ設定を採用します。
詳細については、 http://support.microsoft.com/kb/307220 および http://msdn.microsoft.com/en-us/ library / kd3cf2ex.aspx 。
503エラーで同様の問題が発生しましたが、その理由はプロキシでした。プロキシがある場合は、これを使用します:
request.Proxy = null;
request.Credentials = System.Net.CredentialCache.DefaultCredentials;
IISをリセットする場合は、パスワードを最近変更していないことを確認してください。愚かなことですが、それは起こります。