我正在研究性能測試Web應用程序的原始方式。基本上,我想從.NET執行一個Web請求到一個特定的URL,返回一些結果。我遇到的問題是我似乎正在獲得某種類型的中間頁面作爲結果;結果應該是來自數據庫的對象列表,其頁面標題爲「高級搜索結果」,但是我的代碼正在提供標題爲「正在...」的內容。我最初試圖在PowerShell中做到這一點,似乎有相同的結果,所以我認爲我可能在C#中運氣更好。這是我到目前爲止:在.NET中進行Web請求並等待服務器返回完整結果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Http;
using System.IO;
namespace QTesting
{
class Program
{
static void Main(string[] args)
{
WebRequest wr = WebRequest.Create("https://u.spart.com/u.Int/AdvSearchResults/Person/220001305");
wr.Method = "GET";
wr.Credentials = CredentialCache.DefaultCredentials;
WebResponse response = wr.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
response.Close();
}
}
}
最終,如果我能得到這個工作,我想收集返回這些結果所需的時間。
謝謝!
託尼
好吧,所以它從捕獲在Fiddler中的流量看起來有200個結果是「等待...「頁面,然後是302,然後是另外200個具有我正在查找的所有數據。這不意味着它是重定向嗎? –
進一步的分析表明它是重定向的,因爲如果我從Safari Jones推薦關閉重定向,結果來自302頁面......它必須是某種運行Ajax或JS的頁面,它會填充頁面...什麼屬性會我正在尋找從原始頁面發送後續請求?這不就是ResponseUri嗎?我已經嘗試在獲得ResponseUri後啓動另一個WebRequest,並且得到相同的結果...是否有某種方法可以提出請求? –
啊,我想我已經確定了這個問題。有一個正在提交的隱藏表單。我將不得不更深入地瞭解這個...有沒有人知道任何發佈到Web服務器或整個來回過程的好例子? –