0
ASP.NetでC#を使用してURLを読み取るときに、HTTPヘッダーのステータス(403または404)を読み取る必要があります。例: URL1:https://www.instagram.com/khaniki.ah URL2:https://www.instagram.com/khaniki.ah123456 URL1を読み込もうとしたときにステータス200(HttpStatusCode.Found)が取得され、存在していないときにURL2を読み取ると同じ状態になります。写真をもっと見る。あなたが要求しているサーバはHEADリクエストを受け付けていないようだASP.Net/C#を使用してクライアントURLのHTTPヘッダーステータスコードを読み取る方法
var Url = UrlTbx.Text;
Uri urlCheck = new Uri(Url);
HttpWebRequest HttpRequest = (HttpWebRequest)WebRequest.Create(Url);
HttpRequest.Timeout = 15000;
HttpRequest.AllowAutoRedirect = false;
HttpRequest.ServicePoint.Expect100Continue = false;
HttpRequest.ContentType = "application/x-www-form-urlencoded";
//HttpRequest.Method = "GET";
HttpRequest.Method = "HEAD";//both methods was tested
HttpWebResponse HttpResponse;
try
{
HttpResponse = (HttpWebResponse)HttpRequest.GetResponse();
if (HttpResponse.StatusCode == HttpStatusCode.Found)
Lit.Text = "YES" + "/" + HttpResponse.StatusCode;
else if (HttpResponse.StatusCode == HttpStatusCode.NotFound)
Lit.Text = "NO" + "/" + HttpResponse.StatusCode;
}
catch (Exception)
{
return false;
}
(例外を回避するために)、HTTPClientのAPIを使用してみてください、私はあなたの意見をテストしたが、私はヘッダーで、ステータス400を見つけるか、または取得することはできません –
私も慣れる方法。応答「プラグマを参照してください:なし - キャッシュ は変更される場合:受け入れる言語を コンテンツ言語:最大エージング= 86400 接続:キープアライブ のContent-Length:0 のCache-Control:プライベート 厳密-トランスポートセキュリティエンを、no-cache、no-store、must-revalidate コンテンツタイプ:text/html; charset = utf-8 日付:27 7月2017 10:58:20 GMT 有効期限:2000年1月1日00: 00:00 GMT 場所:https://www.instagram.com/khaniki.ah123456/「 –
私の答えが更新されました.HTMLクライアントクラスでは、例外の代わりに404が必要です。 – KitAndKat