■66262 / inTopicNo.1) |
httpsでヘッダ情報を得るには |
□投稿者/ ビビット (5回)-(2013/04/11(Thu) 19:23:14)
|
分類:[.NET 全般]
お世話になっております。
ネット上のファイルをダウンロードする場合に、
下記のようなHTTPヘッダ情報をまず取得し、
前回と比較してDateに更新があればダウンロードすることとしています。
HTTPヘッダ例:
HTTP/1.0 302 Found
Location: http://www.google.co.jp/
Content-Type: text/html; charset=UTF-8
<中略>
Date: Thu, 11 Apr 2013 10:04:16 GMT
HTTP通信では上手くいっていますが、
HTTPSの場合はどのようにすればよいかご教授いただけませんでしょうか?
以下HTTP通信でのヘッダ取得コードとなり、
以下のURLを参考にさせていただいたものです。
http://www.kisoplus.com/net/
===<コード転載>===
string kurl = textBox1.Text.Replace("http://", "");
string[] url = kurl.Split('/');
tc.Connect(url[0],80);
url[0] = "";
if ((kurl = String.Join("/", url)) == "") kurl = "/";
NetworkStream nstr = tc.GetStream();
//HTTPコマンドをネットストリームに送る
byte[] buf = Encoding.ASCII.GetBytes("HEAD " + kurl + " HTTP/1.0\r\n\r\n");
nstr.Write(buf, 0, buf.Length);
nstr.Flush();
byte[] str = new byte[1024];
nstr.Read(str, 0, str.Length);
textBox2.Text = Encoding.ASCII.GetString(str);
tc.Close();
===<ここまで>===
ポート番号を変更してみても、
400 Bad Request
と返ってきます。。。
主たる目的としては、常にダウンロードするのではなく、
更新のある場合に限ってダウンロードする、ということであります。
SslStream クラスが存在するようですが、
http://msdn.microsoft.com/ja-jp/library/system.net.security.sslstream(VS.80).aspx
をみても、恥ずかしながらどの部分がヘッダー取得に関連しているのかがわかりません。
どなたかご教授いただけませんでしょうか?
何卒よろしくお願いいたします。
|
|