首页 > 其他分享 >测试获取网页的时间

测试获取网页的时间

时间:2022-12-23 12:05:55浏览次数:38  
标签:网页 string System long 获取 static 测试 using public


    前一段时间,为了测试的需要,需要编写一个多线程的程序,就是最大限度的访问某个网页上认证标签,以获得大概该认证标签每秒钟能响应多少次,于是搜索了一些网上的资料,于是编写了下面的这个程序,虽然这个程序不是我们使用的最终版本,但是也反映了测试的思想,大家略微进行改造,就可以用于类似的测试。


using System;
using System.Net;
using System.IO;
using System.Threading;
using System.Timers;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.ComponentModel; namespace TestUrl
{ internal class HiPerfTimer
{
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceCounter(
out long lpPerformanceCount); [DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceFrequency(
out long lpFrequency); private long startTime, stopTime;
private long freq; // Constructor
public HiPerfTimer()
{
startTime = 0;
stopTime = 0; if (QueryPerformanceFrequency(out freq) == false)
{
// high-performance counter not supported
throw new Win32Exception();
}
} // Start the timer
public void Start()
{
// lets do the waiting threads there work
Thread.Sleep(0); QueryPerformanceCounter(out startTime);
} // Stop the timer
public void Stop()
{
QueryPerformanceCounter(out stopTime);
} // Returns the duration of the timer (in seconds)
public double Duration
{
get
{
return (double)(stopTime - startTime) / (double)freq;
}
}
} class Program
{ static long rt = 0;
static long wr = 0; public static int PostData(string url, string data, out string info)
{ info = "";
CookieContainer cc = new CookieContainer();
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.CookieContainer = cc;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
Stream requestStream = request.GetRequestStream();
byte[] byteArray = Encoding.UTF8.GetBytes(data);
requestStream.Write(byteArray, 0, byteArray.Length);
requestStream.Close();
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Uri responseUri = response.ResponseUri;
Stream receiveStream = response.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(receiveStream, encode);
string result = readStream.ReadToEnd();
info = result;
return 0; }
public static bool GetBool(string html)
{ Regex regtable = new Regex(@"​​http://img.dotad.net/lg.gif​​​", RegexOptions.Singleline);
Match ma = regtable.Match(html);
if (ma.Success)
{
return true;
}
else
return false;
} public static void ThreadProc()
{ string info = "";
string data = "";
string url = "​http://203.86.46.53/lg/index.aspx​";
long i=0;
HiPerfTimer pt = new HiPerfTimer(); // create a new PerfTimer object
pt.Start(); // start the timer
while (i++<100)
{

PostData(url, data, out info);
//System.Console.WriteLine(info);
if (GetBool(info) == true)
{
rt++;

标签:网页,string,System,long,获取,static,测试,using,public
From: https://blog.51cto.com/u_12655962/5965300

相关文章