Web サイトから応答を送受信するアプリケーションを構築しようとしています。
私が Stack Overflow で読んだ解決策のどれも私の問題を解決していないので、私のコードは最適化を使用できると思います。
次のスレッドがあります。
void DomainThreadNamecheapStart()
{
while (stop == false)
{
foreach (string FromDomainList in DomainList.Lines)
{
if (FromDomainList.Length > 1)
{
// I removed my api parameters from the string
string namecheapapi = "https://api.namecheap.com/foo" + FromDomainList + "bar";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(namecheapapi);
request.Proxy = null;
request.ServicePoint.Expect100Continue = false;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
status.Text = FromDomainList + "\n" + sr.ReadToEnd();
sr.Close();
}
}
}
}
ボタンがクリックされると、このスレッドが呼び出されます。
private void button2_Click(object sender, EventArgs e)
{
stop = false;
Thread DomainThread = new Thread(new ThreadStart(DomainThreadNamecheapStart));
DomainThread.Start();
}
上記のコードを使用すると、10 秒で約 12 の応答しか受信しません。JavaScript または単純な IFrame を使用して同じリクエストを作成しようとすると、2 倍以上高速になります。ブラウザは接続に複数のスレッドを使用しません。1 つのスレッドが終了するまで待ってから、新しいスレッドを開始します。
を設定request.Proxy = null;
してみましたが、影響はほとんどありませんでした。
HTTPS
は よりも 2 ~ 3 倍遅いことに気付きましたHTTP
。残念ながら、私は使用する必要がありますHTTPS
。速くするためにできることはありますか?