मैं सोच रहा था कि क्या आप मेरी एक बग के साथ मेरी मदद कर सकते हैं। मेरे पास एक HTTP प्रबंधक है जो मैंने बनाया है जो मुझे वेबसाइटों से डेटा पोस्ट करने/प्राप्त करने से निपटने में मदद करता है। हाल ही में जब तक मैं दोनों के मिश्रण का उपयोग करने की कोशिश कर रहा हूं तब तक यह ठीक काम करता है। पहला पाश राउंड सबकुछ काम करता है, दूसरे लूप पर यह HttpWebRequest.GetRequestStream() पर लटकता है। मैंने नेट पर पढ़ा है और कोई वास्तविक समाधान नहीं मिला है। नीचे प्राप्त कर रहा है/प्राप्त करने के लिए codeblocks हैं:क्या किसी को पता है कि मुझे एक HttpWebRequest टाइमआउट क्यों प्राप्त होता है?
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] buffer = encoding.GetBytes(_PostData);
_HttpWebRequest = (HttpWebRequest)WebRequest.Create(_FetchUrl);
_HttpWebRequest.Credentials = _Credentials;
_HttpWebRequest.Method = _RequestType.ToString();
_HttpWebRequest.ContentType = "application/x-www-form-urlencoded";
_HttpWebRequest.ContentLength = buffer.Length;
_HttpWebRequest.UserAgent = userAgent;
_HttpWebRequest.CookieContainer = _CookieContainer;
_HttpWebRequest.KeepAlive = false;
_HttpWebRequest.AllowAutoRedirect = _AllowAutoRedirect;
_HttpWebRequest.AutomaticDecompression = DecompressionMethods.GZip;
_HttpWebRequest.ServicePoint.Expect100Continue = false;
if (_RequestType.Equals(RequestTypes.POST))
{
// Write POST
Stream reqStream = _HttpWebRequest.GetRequestStream();
{
reqStream.Write(buffer, 0, buffer.Length);
reqStream.Flush();
reqStream.Close();
}
}
और प्रतिक्रिया:
HttpWebResponse httpWebResponse = (HttpWebResponse)_HttpWebRequest.GetResponse();
{
Stream responseStream = httpWebResponse.GetResponseStream();
{
if (_UseGzip)
{
if (httpWebResponse.ContentEncoding.ToLower().Contains("gzip"))
{
responseStream = new GZipStream(responseStream, CompressionMode.Decompress);
}
else
{
responseStream = new DeflateStream(responseStream, CompressionMode.Decompress);
}
}
if (responseStream != null)
{
StreamReader streamReader = new StreamReader(responseStream);
{
try
{
_PageContent = streamReader.ReadToEnd();
}
finally
{
streamReader.Close();
responseStream.Close();
httpWebResponse.Close();
}
}
}
else
{
_PageContent = string.Empty;
}
}
}
_HttpWebRequest.Abort();
किसी को भी क्यों मेरे कोड व्यतीत कर रहा है के लिए किसी भी खामियां देख सकते हैं? सभी धाराएं बंद हो रही हैं, मैंने 100 से अधिक अनुमत कनेक्शन सेट किए हैं, मुझे समझ में नहीं आता कि यह क्यों टूट रहा है।
आप क्या डेटा वास्तव में भेजा जा रहा है देखने के लिए Wireshark की तरह कुछ उपयोग करने की कोशिश की है? – Foole
जब आप कहते हैं कि कोड पहली बार काम करता है लेकिन दूसरे पर रोकता है, तो आप संबंधित अनुरोधों के दौरान किस http विधियों का उपयोग करते हैं? –
कोड एक पोस्ट पर लटकता है, जीईटी ठीक काम कर रहा प्रतीत होता है। जब मैं burp प्रॉक्सी के माध्यम से कोड चलाता हूं तो यह किसी कारण से ठीक काम करता है? हो सकता है कि प्रॉक्सी मेरे कुछ शीर्षकों की मरम्मत कर रही है क्योंकि मुझे समझ में नहीं आता कि इसे कैसे फर्क पड़ता है। –