![](/img/trans.png)
[英]Using Fiddler as proxy for HttpWebRequest requires Fiddler to be running
[英]HttpWebRequest only works while fiddler is running
我的以下代碼存在一些問題。 當Fiddler開啟時,它將運行良好,但是當Fiddler不運行時,它將超時。
IWebProxy proxy = websiterequester.Proxy;
websiterequester = (HttpWebRequest)WebRequest.Create("http://website.com/");
websiterequester.CookieContainer = cookieJar;
websiterequester.Method = "GET";
websiterequester.Referer = "http://website.com/";
if (websiterequester.Proxy != null)
{
websiterequester.Proxy = null;
}
try
{
objStream1 = websiterequester.GetResponse().GetResponseStream();
}
catch (WebException ex)
{
return "oops";
}
objReader1 = new StreamReader(objStream1);
string thiscamebacks = objReader1.ReadToEnd();
希望你們有答案。 (我在SO上讀了另一個主題,但我沒有一個答案對我有用)
謝謝!
嘗試使用它來讀取響應流:
private byte[] ReadWebResponse(WebResponse response)
{
byte[] bytes = null;
if(response == null) return null;
using(Stream responseStream = response.GetResponseStream())
{
using(BinaryReader readStream = new BinaryReader(responseStream))
{
using(MemoryStream memoryStream = new MemoryStream())
{
byte[] buffer = new byte[256];
int count;
int totalBytes = 0;
while((count = readStream.Read(buffer, 0, 256)) > 0)
{
memoryStream.Write(buffer, 0, count);
totalBytes += count;
}
memoryStream.Position = 0;
bytes = new byte[totalBytes];
memoryStream.Read(bytes, 0, totalBytes);
}
}
}
return bytes;
}
[編輯]我剛剛看到您ultimatley希望從響應中得到一個字符串,因此使用它可以將字節數組轉換為字符串:
/// <summary>
/// Returns the byte array as a string, or null
/// </summary>
public static string GetByteString(byte[] b)
{
if (b == null) return null;
return Encoding.UTF8.GetString(b);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.