2010-01-28 19 views
6

मैं hotfile.com में लॉगिन करने के लिए C# का उपयोग करने का प्रयास कर रहा हूं।.NET HTTP पोस्ट विधि - कुकीज़ समस्या

अब मैं इस त्रुटि मिल रही है के रूप में मैं पोस्ट का उपयोग कर लॉगिन करने का प्रयास करें:

आप नहीं है पहली बड़ी मुद्दे पर काबू पाने के 417 त्रुटि है, जो इस लाइन इसे हल था कुकीज़ स्वीकार करने के लिए। ।

string response; 
byte[] buffer = Encoding.ASCII.GetBytes("user=XX&pass=XX"); 

CookieContainer cookies = new CookieContainer(); 
HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create("http://hotfile.com/login.php"); 
WebReq.Credentials = new NetworkCredential("XX", "XX"); 
WebReq.PreAuthenticate = true; 
WebReq.Pipelined = true; 
WebReq.CookieContainer = cookies; 
WebReq.KeepAlive = true; 
WebReq.Method = "POST"; 
WebReq.ContentType = "application/x-www-form-urlencoded"; 
WebReq.ContentLength = buffer.Length; 
WebReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1)"; 

Stream PostData = WebReq.GetRequestStream(); 
PostData.Write(buffer, 0, buffer.Length); 
PostData.Close(); 

HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse(); 
Stream Answer = WebResp.GetResponseStream(); 
StreamReader _Answer = new StreamReader(Answer); 
response = _Answer.ReadToEnd(); 
File.WriteAllText("dump.html", response); 
: कुकीज़ Hotfile.com .. करने के लिए लॉग इन करने के लिए आवश्यक हैं मदद

मैं कई बार कोशिश की है, और आसपास googled और मैं अभी भी प्रवेश नहीं कर सकते मेरे कोड यह है

स्वाभाविक रूप से, उपयोगकर्ता और पास के आपके खाते के मूल्य होंगे।

उत्तर

9

यहाँ एक काम कर उदाहरण मैं तुम्हारे लिए लिखा है:

var cookies = new CookieContainer(); 
ServicePointManager.Expect100Continue = false; 

var request = (HttpWebRequest)WebRequest.Create("http://www.hotfile.com/login.php"); 
request.CookieContainer = cookies; 
request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 
using (var requestStream = request.GetRequestStream()) 
using (var writer = new StreamWriter(requestStream)) 
{ 
    writer.Write("user=XX&pass=XX&returnto=/"); 
} 

using (var responseStream = request.GetResponse().GetResponseStream()) 
using (var reader = new StreamReader(responseStream)) 
{ 
    var result = reader.ReadToEnd(); 
    Console.WriteLine(result); 
} 
+0

यह काम किया !! बहुत बहुत धन्यवाद। मैं बिल्कुल नहीं देखता कि यह कुकी समस्या को क्यों छोड़ देता है। एक बार फिर धन्यवाद! –

+0

+1। खुशी है कि आपने आईडीस्पोज़ेबल के उपयोग को भी सही किया है! –

संबंधित मुद्दे