こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C#でIEの操作ができないページの操作方法

C#でIEを操作しようとしているのですが、HTMLを取得する際にエラーが出てしまします。なぜでしょうか?
yahooなどのサイトのHTMLは取得できるのですが、実際にhtmlを取得したいサイトは「型 'System.Net.WebException' のハンドルされていない例外が System.dll で発生しました

追加情報:接続が切断されました: 送信時に、予期しないエラーが発生しました。」とエラーがでます。
HTMLが取得できないサイトがあるのでしょうか?
その時にどうすればHTMLを取得し、操作できるのかその方法を教えてください。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Encoding enc = Encoding.GetEncoding("Shift_JIS");
string url = "https://www.yahoo.co.jp/";

WebRequest req = WebRequest.Create(url);
WebResponse res = req.GetResponse();

Stream st = res.GetResponseStream();
StreamReader sr = new StreamReader(st, enc);
string html = sr.ReadToEnd();
sr.Close();
st.Close();

Console.WriteLine(html);
}
}
}

投稿日時 - 2018-07-12 07:47:48

QNo.9517469

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

SSL関係かもしれません。
以下を追加してみてください。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

投稿日時 - 2018-07-13 09:47:24

あなたにオススメの質問