2013-07-19 5 views
1

Привет, я пытаюсь разработать авто-Facebook как бот, который может сделать. Я могу войти в систему Facebook и перейти на фотографию, как зарегистрировался. Но как я могу щелкнуть по кнопке на фотографии? Может ли кто-нибудь помочь?Как сделать ссылку на гиперссылку после входа в систему facebook?

Вот мой код.

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    using System.Net; 
    using System.IO; 

    namespace ConsoleApplication1 
    { 
     class Program 
     { 
      static void Main(string[] args) 
      { 
       //Get the response from the server and save the cookies from the first request.. 
      CookieCollection cookies = new CookieCollection(); 
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.facebook.com"); 
      request.CookieContainer = new CookieContainer(); 
      request.CookieContainer.Add(cookies); 
      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
      cookies = response.Cookies; 


      //Use cookieee 
      string getUrl = "http://www.facebook.com/login.php?login_attempt=1"; 
      string postData = String.Format("email={0}&pass={1}", "[email protected]", "password"); 
      HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create(getUrl); 
      getRequest.CookieContainer = new CookieContainer(); 
      getRequest.CookieContainer.Add(cookies); //recover cookies First request 
      getRequest.Method = WebRequestMethods.Http.Post; 
      getRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2"; 
      getRequest.AllowWriteStreamBuffering = true; 
      getRequest.ProtocolVersion = HttpVersion.Version11; 
      getRequest.AllowAutoRedirect = true; 
      getRequest.ContentType = "application/x-www-form-urlencoded"; 
      CookieContainer container = new CookieContainer(); 
      container = getRequest.CookieContainer; 

      byte[] byteArray = Encoding.ASCII.GetBytes(postData); 
      getRequest.ContentLength = byteArray.Length; 
      Stream newStream = getRequest.GetRequestStream(); //open connection 
      newStream.Write(byteArray, 0, byteArray.Length); // Send the data. 
      newStream.Close(); 
      HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse(); 



      //Now make like...but not working... 
      HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://m.facebook.com/a/like.php?perm&ft_ent_identifier=495210693893173&gfid=AQAM3G9owHcMQG4B"); 
      req.CookieContainer = container; 
      req.Method = "POST"; 
      //req.ContentType = "application/x-www-form-urlencoded"; 
      req.KeepAlive = true; 
      try 
      { 
       HttpWebResponse res = (HttpWebResponse)req.GetResponse(); 
       StreamReader sr = new StreamReader(res.GetResponseStream()); 
       string source = sr.ReadToEnd(); 

       StreamWriter myWriter = File.CreateText(@"D:\\test.txt"); 
       myWriter.Write(source); 
       myWriter.Close(); 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine(e.ToString()); 
      } 

      } 
     } 
    } 

`

ответ

0

Надеюсь, это будет косвенно ответить на ваш вопрос Там есть плагин Firefox, который я использовал, чтобы сделать ту же функциональность. Я закончил тем, что написал сценарий для автозапуска, чтобы вы могли, когда выкачали войны.

Я не уверен, что вы намерены запрограммировать его самостоятельно или просто для достижения функциональности. http://www.iopus.com/imacros/firefox/

http://wiki.imacros.net/Sample_Code

Мое предложение было бы посмотреть, как imacros это делает, и вытащить его в поджигатель. Также просмотрите их пример кода, чтобы увидеть, как они достигли того же эффекта.

Смежные вопросы